git.schokokeks.org
Repositories
Help
Report an Issue
derivepassphrase.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
f83a0b3
Branches
Tags
documentation-tree
master
0.1.0
0.1.1
0.1.2
0.1.3
0.2.0
0.3.0
0.3.1
0.3.2
derivepassphrase.git
0.x
reference
derivepassphrase._types
index.html
Deployed 71c3866eef5d to 0.x with MkDocs 1.6.1 and mike 2.1.3
Marco Ricci
commited
f83a0b3
at 2024-10-15 14:02:38
index.html
Blame
History
Raw
<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="description" content="An almost faithful Python reimplementation of James Coglan's vault."> <meta name="author" content="Marco Ricci"> <link rel="canonical" href="https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase._types/"> <link rel="prev" href="../derivepassphrase.ssh_agent/"> <link rel="next" href="../derivepassphrase.vault/"> <link rel="icon" href="../../assets/images/favicon.png"> <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.39"> <title>Submodule _types - derivepassphrase</title> <link rel="stylesheet" href="../../assets/stylesheets/main.8c3ca2c6.min.css"> <style>:root{--md-text-font:"Noto Sans";--md-code-font:"Noto Mono"}</style> <link rel="stylesheet" href="../../assets/_mkdocstrings.css"> <link rel="stylesheet" href="../../mkdocstrings_recommended_styles.css"> </head> <body dir="ltr"> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> <a href="#derivepassphrase._types" class="md-skip"> Skip to content </a> </div> <div data-md-component="announce"> </div> <div data-md-color-scheme="default" data-md-component="outdated" hidden> </div> <div class="md-container" data-md-component="container"> <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs"> <div class="md-grid"> <ul class="md-tabs__list"> <li class="md-tabs__item"> <a href="../.." class="md-tabs__link"> Overview </a> </li> <li class="md-tabs__item"> <a href="../../tutorials/basic-setup-password/" class="md-tabs__link"> Tutorials & Examples </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href="../" class="md-tabs__link"> Reference </a> </li> <li class="md-tabs__item"> <a href="../../changelog/" class="md-tabs__link"> Changelog </a> </li> </ul> </div> </nav> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a href="../.." title="derivepassphrase" class="md-nav__button md-logo" aria-label="derivepassphrase" data-md-component="logo"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> derivepassphrase </label> <div class="md-nav__source"> <a href="https://github.com/the-13th-letter/derivepassphrase" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg> </div> <div class="md-source__repository"> the-13th-letter/derivepassphrase </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../.." class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0"> <span class="md-ellipsis"> Tutorials & Examples </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2"> <span class="md-nav__icon md-icon"></span> Tutorials & Examples </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../tutorials/basic-setup-password/" class="md-nav__link"> <span class="md-ellipsis"> Tutorial: setting up derivepassphrase vault for three accounts, with a master passphrase </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked> <div class="md-nav__link md-nav__container"> <a href="../" class="md-nav__link "> <span class="md-ellipsis"> Reference </span> </a> <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_3"> <span class="md-nav__icon md-icon"></span> Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../derivepassphrase.1/" class="md-nav__link"> <span class="md-ellipsis"> Man page: derivepassphrase </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-vault.1/" class="md-nav__link"> <span class="md-ellipsis"> Man page: derivepassphrase-vault </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-export.1/" class="md-nav__link"> <span class="md-ellipsis"> Man page: derivepassphrase-export </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-export-vault.1/" class="md-nav__link"> <span class="md-ellipsis"> Man page: derivepassphrase-export-vault </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6" checked> <label class="md-nav__link" for="__nav_3_6" id="__nav_3_6_label" tabindex=""> <span class="md-ellipsis"> Module derivepassphrase </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_6_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_3_6"> <span class="md-nav__icon md-icon"></span> Module derivepassphrase </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../derivepassphrase.cli/" class="md-nav__link"> <span class="md-ellipsis"> Submodule cli </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase.exporter/" class="md-nav__link"> <span class="md-ellipsis"> Subpackage exporter </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase.sequin/" class="md-nav__link"> <span class="md-ellipsis"> Submodule sequin </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase.ssh_agent/" class="md-nav__link"> <span class="md-ellipsis"> Submodule ssh_agent </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> <span class="md-ellipsis"> Submodule _types </span> <span class="md-nav__icon md-icon"></span> </label> <a href="./" class="md-nav__link md-nav__link--active"> <span class="md-ellipsis"> Submodule _types </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#derivepassphrase._types" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-module"></code> _types </span> </a> <nav class="md-nav" aria-label=" _types"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> VaultConfigGlobalSettings </span> </a> <nav class="md-nav" aria-label=" VaultConfigGlobalSettings"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.phrase" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> phrase </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.unicode_normalization_form" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> unicode_normalization_form </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.length" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> length </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.repeat" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> repeat </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.lower" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> lower </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.upper" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> upper </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.number" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> number </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.space" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> space </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.dash" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> dash </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.symbol" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> symbol </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigServicesSettings" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> VaultConfigServicesSettings </span> </a> <nav class="md-nav" aria-label=" VaultConfigServicesSettings"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigServicesSettings.notes" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> notes </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfig" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> VaultConfig </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CleanupStep </span> </a> <nav class="md-nav" aria-label=" CleanupStep"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.path" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> path </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.old_value" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> old_value </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.action" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> action </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.new_value" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> new_value </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.KeyCommentPair" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> KeyCommentPair </span> </a> <nav class="md-nav" aria-label=" KeyCommentPair"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.KeyCommentPair.key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.KeyCommentPair.comment" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> comment </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSH_AGENTC </span> </a> <nav class="md-nav" aria-label=" SSH_AGENTC"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> REQUEST_IDENTITIES </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SIGN_REQUEST </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.ADD_IDENTITY" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> ADD_IDENTITY </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.REMOVE_IDENTITY" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> REMOVE_IDENTITY </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.ADD_ID_CONSTRAINED" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> ADD_ID_CONSTRAINED </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSH_AGENT </span> </a> <nav class="md-nav" aria-label=" SSH_AGENT"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.FAILURE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> FAILURE </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.SUCCESS" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SUCCESS </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> IDENTITIES_ANSWER </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SIGN_RESPONSE </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.json_path" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> json_path </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.validate_vault_config" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> validate_vault_config </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.is_vault_config" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> is_vault_config </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.js_truthiness" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> js_truthiness </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.clean_up_falsy_vault_config_values" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> clean_up_falsy_vault_config_values </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../derivepassphrase.vault/" class="md-nav__link"> <span class="md-ellipsis"> Submodule vault </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../changelog/" class="md-nav__link"> <span class="md-ellipsis"> Changelog </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#derivepassphrase._types" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-module"></code> _types </span> </a> <nav class="md-nav" aria-label=" _types"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> VaultConfigGlobalSettings </span> </a> <nav class="md-nav" aria-label=" VaultConfigGlobalSettings"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.phrase" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> phrase </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.unicode_normalization_form" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> unicode_normalization_form </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.length" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> length </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.repeat" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> repeat </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.lower" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> lower </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.upper" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> upper </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.number" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> number </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.space" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> space </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.dash" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> dash </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.symbol" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> symbol </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigServicesSettings" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> VaultConfigServicesSettings </span> </a> <nav class="md-nav" aria-label=" VaultConfigServicesSettings"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfigServicesSettings.notes" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> notes </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.VaultConfig" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> VaultConfig </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CleanupStep </span> </a> <nav class="md-nav" aria-label=" CleanupStep"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.path" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> path </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.old_value" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> old_value </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.action" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> action </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.CleanupStep.new_value" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> new_value </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.KeyCommentPair" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> KeyCommentPair </span> </a> <nav class="md-nav" aria-label=" KeyCommentPair"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.KeyCommentPair.key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.KeyCommentPair.comment" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> comment </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSH_AGENTC </span> </a> <nav class="md-nav" aria-label=" SSH_AGENTC"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> REQUEST_IDENTITIES </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SIGN_REQUEST </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.ADD_IDENTITY" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> ADD_IDENTITY </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.REMOVE_IDENTITY" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> REMOVE_IDENTITY </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.ADD_ID_CONSTRAINED" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> ADD_ID_CONSTRAINED </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSH_AGENT </span> </a> <nav class="md-nav" aria-label=" SSH_AGENT"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.FAILURE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> FAILURE </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.SUCCESS" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SUCCESS </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> IDENTITIES_ANSWER </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SIGN_RESPONSE </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.json_path" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> json_path </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.validate_vault_config" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> validate_vault_config </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.is_vault_config" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> is_vault_config </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.js_truthiness" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> js_truthiness </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.clean_up_falsy_vault_config_values" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> clean_up_falsy_vault_config_values </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <a href="https://github.com/the-13th-letter/derivepassphrase/raw/master/docs/reference/derivepassphrase._types.md" title="View source of this page" class="md-content__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg> </a> <h1>Submodule _types</h1> <div class="doc doc-object doc-module"> <h2 id="derivepassphrase._types" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">derivepassphrase._types</span> <a href="#derivepassphrase._types" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents first"> <p>Types used by derivepassphrase.</p> <div class="doc doc-children"> <div class="doc doc-object doc-class"> <h3 id="derivepassphrase._types.VaultConfigGlobalSettings" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">VaultConfigGlobalSettings</span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="typing_extensions.TypedDict" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.TypedDict">TypedDict</a></code></p> <p>Configuration for vault: global settings.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.key" href="#derivepassphrase._types.VaultConfigGlobalSettings.key">key</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>The base64-encoded ssh public key to use, overriding the master passphrase. Optional.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.phrase" href="#derivepassphrase._types.VaultConfigGlobalSettings.phrase">phrase</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>The master passphrase. Optional.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.unicode_normalization_form" href="#derivepassphrase._types.VaultConfigGlobalSettings.unicode_normalization_form">unicode_normalization_form</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" title="typing.Literal" href="https://docs.python.org/3/library/typing.html#typing.Literal">Literal</a>['NFC', 'NFD', 'NFKC', 'NFKD']]</code> </td> <td> <div class="doc-md-description"> <p>The preferred Unicode normalization form; we warn the user if textual passphrases do not match their normalized forms. Optional, and a <code>derivepassphrase</code> extension.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.length" href="#derivepassphrase._types.VaultConfigGlobalSettings.length">length</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>Desired passphrase length.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.repeat" href="#derivepassphrase._types.VaultConfigGlobalSettings.repeat">repeat</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>The maximum number of immediate character repetitions allowed in the passphrase. Disabled if set to 0.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.lower" href="#derivepassphrase._types.VaultConfigGlobalSettings.lower">lower</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>Optional constraint on ASCII lowercase characters. If positive, include this many lowercase characters somewhere in the passphrase. If 0, avoid lowercase characters altogether.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.upper" href="#derivepassphrase._types.VaultConfigGlobalSettings.upper">upper</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>Same as <code>lower</code>, but for ASCII uppercase characters.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.number" href="#derivepassphrase._types.VaultConfigGlobalSettings.number">number</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>Same as <code>lower</code>, but for ASCII digits.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.space" href="#derivepassphrase._types.VaultConfigGlobalSettings.space">space</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>Same as <code>lower</code>, but for the space character.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.dash" href="#derivepassphrase._types.VaultConfigGlobalSettings.dash">dash</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>Same as <code>lower</code>, but for the hyphen-minus and underscore characters.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings.symbol" href="#derivepassphrase._types.VaultConfigGlobalSettings.symbol">symbol</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>Same as <code>lower</code>, but for all other hitherto unlisted ASCII printable characters (except backquote).</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.key" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">key</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.key" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.phrase" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">phrase</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.phrase" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">phrase</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.unicode_normalization_form" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">unicode_normalization_form</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.unicode_normalization_form" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">unicode_normalization_form</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span> <span class="n"><a class="autorefs autorefs-external" title="typing.Literal" href="https://docs.python.org/3/library/typing.html#typing.Literal">Literal</a></span><span class="p">[</span><span class="s2">"NFC"</span><span class="p">,</span> <span class="s2">"NFD"</span><span class="p">,</span> <span class="s2">"NFKC"</span><span class="p">,</span> <span class="s2">"NFKD"</span><span class="p">]</span> <span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.length" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">length</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.length" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">length</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.repeat" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">repeat</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.repeat" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">repeat</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.lower" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">lower</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.lower" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">lower</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.upper" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">upper</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.upper" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">upper</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.number" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">number</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.number" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">number</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.space" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">space</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.space" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">space</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.dash" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">dash</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.dash" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">dash</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigGlobalSettings.symbol" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">symbol</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigGlobalSettings.symbol" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">symbol</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h3 id="derivepassphrase._types.VaultConfigServicesSettings" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">VaultConfigServicesSettings</span> <a href="#derivepassphrase._types.VaultConfigServicesSettings" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings" href="#derivepassphrase._types.VaultConfigGlobalSettings">VaultConfigGlobalSettings</a></code></p> <p>Configuration for vault: services settings.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.notes" href="#derivepassphrase._types.VaultConfigServicesSettings.notes">notes</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>Optional notes for this service, to display to the user when generating the passphrase.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.key" href="#derivepassphrase._types.VaultConfigGlobalSettings.key">key</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.phrase" href="#derivepassphrase._types.VaultConfigGlobalSettings.phrase">phrase</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.unicode_normalization_form" href="#derivepassphrase._types.VaultConfigGlobalSettings.unicode_normalization_form">unicode_normalization_form</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.length" href="#derivepassphrase._types.VaultConfigGlobalSettings.length">length</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.repeat" href="#derivepassphrase._types.VaultConfigGlobalSettings.repeat">repeat</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.lower" href="#derivepassphrase._types.VaultConfigGlobalSettings.lower">lower</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.upper" href="#derivepassphrase._types.VaultConfigGlobalSettings.upper">upper</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.number" href="#derivepassphrase._types.VaultConfigGlobalSettings.number">number</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.space" href="#derivepassphrase._types.VaultConfigGlobalSettings.space">space</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.dash" href="#derivepassphrase._types.VaultConfigGlobalSettings.dash">dash</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings.symbol" href="#derivepassphrase._types.VaultConfigGlobalSettings.symbol">symbol</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> </td> <td> <div class="doc-md-description"> <p>As per the global settings.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.VaultConfigServicesSettings.notes" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">notes</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.VaultConfigServicesSettings.notes" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">notes</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h3 id="derivepassphrase._types.VaultConfig" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">VaultConfig</span> <a href="#derivepassphrase._types.VaultConfig" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="typing_extensions.TypedDict" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.TypedDict">TypedDict</a></code>, <code><span title="derivepassphrase._types._VaultConfig">_VaultConfig</span></code></p> <p>Configuration for vault. For typing purposes.</p> <p>Usually stored as JSON.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><span title="derivepassphrase._types.VaultConfig.global">global</span></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.NotRequired" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NotRequired">NotRequired</a>[<a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigGlobalSettings" href="#derivepassphrase._types.VaultConfigGlobalSettings">VaultConfigGlobalSettings</a>]</code> </td> <td> <div class="doc-md-description"> <p>Global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><span title="derivepassphrase._types.VaultConfig.services">services</span></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.Required" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Required">Required</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#dict">dict</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>, <a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfigServicesSettings" href="#derivepassphrase._types.VaultConfigServicesSettings">VaultConfigServicesSettings</a>]]</code> </td> <td> <div class="doc-md-description"> <p>Service-specific settings.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> </div> </div> </div> <div class="doc doc-object doc-class"> <h3 id="derivepassphrase._types.CleanupStep" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">CleanupStep</span> <a href="#derivepassphrase._types.CleanupStep" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="typing_extensions.NamedTuple" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NamedTuple">NamedTuple</a></code></p> <p>A single executed step during vault config cleanup.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.CleanupStep.path" href="#derivepassphrase._types.CleanupStep.path">path</a></code></td> <td> <code><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a> | <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>A sequence of object keys or array indices to navigate to the JSON value that was cleaned up.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.CleanupStep.old_value" href="#derivepassphrase._types.CleanupStep.old_value">old_value</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></code> </td> <td> <div class="doc-md-description"> <p>The old value.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.CleanupStep.action" href="#derivepassphrase._types.CleanupStep.action">action</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing.Literal" href="https://docs.python.org/3/library/typing.html#typing.Literal">Literal</a>['replace', 'remove']</code> </td> <td> <div class="doc-md-description"> <p>Either <code>'replace'</code> if <code>old_value</code> was replaced with <code>new_value</code>, or <code>'remove'</code> if <code>old_value</code> was removed.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.CleanupStep.new_value" href="#derivepassphrase._types.CleanupStep.new_value">new_value</a></code></td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></code> </td> <td> <div class="doc-md-description"> <p>The new value.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.CleanupStep.path" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">path</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.CleanupStep.path" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">path</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> <span class="o">|</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.CleanupStep.old_value" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">old_value</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.CleanupStep.old_value" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">old_value</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.CleanupStep.action" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">action</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.CleanupStep.action" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">action</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing.Literal" href="https://docs.python.org/3/library/typing.html#typing.Literal">Literal</a></span><span class="p">[</span><span class="s1">'replace'</span><span class="p">,</span> <span class="s1">'remove'</span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.CleanupStep.new_value" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">new_value</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.CleanupStep.new_value" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">new_value</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h3 id="derivepassphrase._types.KeyCommentPair" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">KeyCommentPair</span> <a href="#derivepassphrase._types.KeyCommentPair" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="typing_extensions.NamedTuple" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.NamedTuple">NamedTuple</a></code></p> <p>SSH key plus comment pair. For typing purposes.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.KeyCommentPair.key" href="#derivepassphrase._types.KeyCommentPair.key">key</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytes">bytes</a> | <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytearray">bytearray</a></code> </td> <td> <div class="doc-md-description"> <p>SSH key.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.KeyCommentPair.comment" href="#derivepassphrase._types.KeyCommentPair.comment">comment</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytes">bytes</a> | <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytearray">bytearray</a></code> </td> <td> <div class="doc-md-description"> <p>SSH key comment.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.KeyCommentPair.key" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">key</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.KeyCommentPair.key" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytes">bytes</a></span> <span class="o">|</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytearray">bytearray</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.KeyCommentPair.comment" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">comment</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.KeyCommentPair.comment" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">comment</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytes">bytes</a></span> <span class="o">|</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#bytearray">bytearray</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h3 id="derivepassphrase._types.SSH_AGENTC" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SSH_AGENTC</span> <a href="#derivepassphrase._types.SSH_AGENTC" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="enum.Enum" href="https://docs.python.org/3/library/enum.html#enum.Enum">Enum</a></code></p> <p>SSH agent protocol numbers: client requests.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES" href="#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES">REQUEST_IDENTITIES</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>List identities. Expecting <a class="autorefs autorefs-internal" href="#derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER"><code>SSH_AGENT.IDENTITIES_ANSWER</code></a>.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST" href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST">SIGN_REQUEST</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Sign data. Expecting <a class="autorefs autorefs-internal" href="#derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE"><code>SSH_AGENT.SIGN_RESPONSE</code></a>.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENTC.ADD_IDENTITY" href="#derivepassphrase._types.SSH_AGENTC.ADD_IDENTITY">ADD_IDENTITY</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Add an (SSH2) identity.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENTC.REMOVE_IDENTITY" href="#derivepassphrase._types.SSH_AGENTC.REMOVE_IDENTITY">REMOVE_IDENTITY</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Remove an (SSH2) identity.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENTC.ADD_ID_CONSTRAINED" href="#derivepassphrase._types.SSH_AGENTC.ADD_ID_CONSTRAINED">ADD_ID_CONSTRAINED</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Add an (SSH2) identity, including key constraints.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">REQUEST_IDENTITIES</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">REQUEST_IDENTITIES</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">11</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SIGN_REQUEST</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">SIGN_REQUEST</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">13</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENTC.ADD_IDENTITY" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">ADD_IDENTITY</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENTC.ADD_IDENTITY" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">ADD_IDENTITY</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">17</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENTC.REMOVE_IDENTITY" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">REMOVE_IDENTITY</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENTC.REMOVE_IDENTITY" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">REMOVE_IDENTITY</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">18</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENTC.ADD_ID_CONSTRAINED" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">ADD_ID_CONSTRAINED</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENTC.ADD_ID_CONSTRAINED" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">ADD_ID_CONSTRAINED</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">25</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h3 id="derivepassphrase._types.SSH_AGENT" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SSH_AGENT</span> <a href="#derivepassphrase._types.SSH_AGENT" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" title="enum.Enum" href="https://docs.python.org/3/library/enum.html#enum.Enum">Enum</a></code></p> <p>SSH agent protocol numbers: server replies.</p> <p><span class="doc-section-title">Attributes:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENT.FAILURE" href="#derivepassphrase._types.SSH_AGENT.FAILURE">FAILURE</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Generic failure code.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENT.SUCCESS" href="#derivepassphrase._types.SSH_AGENT.SUCCESS">SUCCESS</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Generic success code.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER" href="#derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER">IDENTITIES_ANSWER</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Successful answer to <a class="autorefs autorefs-internal" href="#derivepassphrase._types.SSH_AGENTC.REQUEST_IDENTITIES"><code>SSH_AGENTC.REQUEST_IDENTITIES</code></a>.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title="derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE" href="#derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE">SIGN_RESPONSE</a></code></td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> </td> <td> <div class="doc-md-description"> <p>Successful answer to <a class="autorefs autorefs-internal" href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST"><code>SSH_AGENTC.SIGN_REQUEST</code></a>.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENT.FAILURE" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">FAILURE</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENT.FAILURE" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">FAILURE</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">5</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENT.SUCCESS" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SUCCESS</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENT.SUCCESS" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">SUCCESS</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">6</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">IDENTITIES_ANSWER</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENT.IDENTITIES_ANSWER" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">IDENTITIES_ANSWER</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">12</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h4 id="derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">SIGN_RESPONSE</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> </span> <a href="#derivepassphrase._types.SSH_AGENT.SIGN_RESPONSE" class="headerlink" title="Permanent link">¶</a></h4> <div class="doc-signature highlight"><pre><span></span><code><span class="n">SIGN_RESPONSE</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">14</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.json_path" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">json_path</span> <a href="#derivepassphrase._types.json_path" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">json_path</span><span class="p">(</span><span class="n">path</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> <span class="o">|</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span><span class="p">])</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> </code></pre></div> <div class="doc doc-contents "> <p>Transform a series of keys and indices into a JSONPath selector.</p> <p>The resulting JSONPath selector conforms to RFC 9535, is always rooted at the JSON root node (i.e., starts with <code>$</code>), and only contains name and index selectors (in shorthand dot notation, where possible).</p> <p><span class="doc-section-title">Parameters:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code>path</code> </td> <td> <code><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a> | <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a>]</code> </td> <td> <div class="doc-md-description"> <p>A sequence of object keys or array indices to navigate to the desired JSON value, starting from the root node.</p> </div> </td> <td> <em>required</em> </td> </tr> </tbody> </table> <p><span class="doc-section-title">Returns:</span></p> <table> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code> </td> <td> <div class="doc-md-description"> <p>A valid JSONPath selector (a string) identifying the desired JSON value.</p> </div> </td> </tr> </tbody> </table> <p><span class="doc-section-title">Examples:</span></p> <div class="highlight"><pre><span></span><code><span class="gp">>>> </span><span class="n">json_path</span><span class="p">([</span><span class="s1">'global'</span><span class="p">,</span> <span class="s1">'phrase'</span><span class="p">])</span> <span class="go">'$.global.phrase'</span> <span class="gp">>>> </span><span class="n">json_path</span><span class="p">([</span><span class="s1">'services'</span><span class="p">,</span> <span class="s1">'service name with spaces'</span><span class="p">,</span> <span class="s1">'length'</span><span class="p">])</span> <span class="go">'$.services["service name with spaces"].length'</span> <span class="gp">>>> </span><span class="n">json_path</span><span class="p">([</span><span class="s1">'services'</span><span class="p">,</span> <span class="s1">'special</span><span class="se">\u000a</span><span class="s1">characters'</span><span class="p">,</span> <span class="s1">'notes'</span><span class="p">])</span> <span class="go">'$.services["special\\ncharacters"].notes'</span> <span class="gp">>>> </span><span class="nb">print</span><span class="p">(</span><span class="n">json_path</span><span class="p">([</span><span class="s1">'services'</span><span class="p">,</span> <span class="s1">'special</span><span class="se">\u000a</span><span class="s1">characters'</span><span class="p">,</span> <span class="s1">'notes'</span><span class="p">]))</span> <span class="go">$.services["special\ncharacters"].notes</span> <span class="gp">>>> </span><span class="n">json_path</span><span class="p">([</span><span class="s1">'custom_array'</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">0</span><span class="p">])</span> <span class="go">'$.custom_array[2][0]'</span> </code></pre></div> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.validate_vault_config" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">validate_vault_config</span> <a href="#derivepassphrase._types.validate_vault_config" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">validate_vault_config</span><span class="p">(</span> <span class="n">obj</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">/</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">allow_unknown_settings</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span> <span class="n">allow_derivepassphrase_extensions</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span> <span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> </code></pre></div> <div class="doc doc-contents "> <p>Check that <code>obj</code> is a valid vault config.</p> <p><span class="doc-section-title">Parameters:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code>obj</code> </td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></code> </td> <td> <div class="doc-md-description"> <p>The object to test.</p> </div> </td> <td> <em>required</em> </td> </tr> <tr class="doc-section-item"> <td> <code>allow_unknown_settings</code> </td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></code> </td> <td> <div class="doc-md-description"> <p>If false, abort on unknown settings.</p> </div> </td> <td> <code>False</code> </td> </tr> <tr class="doc-section-item"> <td> <code>allow_derivepassphrase_extensions</code> </td> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></code> </td> <td> <div class="doc-md-description"> <p>If true, allow <code>derivepassphrase</code> extensions.</p> </div> </td> <td> <code>False</code> </td> </tr> </tbody> </table> <p><span class="doc-section-title">Raises:</span></p> <table> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/exceptions.html#TypeError">TypeError</a></code> </td> <td> <div class="doc-md-description"> <p>An entry in the vault config, or the vault config itself, has the wrong type.</p> </div> </td> </tr> <tr class="doc-section-item"> <td> <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/exceptions.html#ValueError">ValueError</a></code> </td> <td> <div class="doc-md-description"> <p>An entry in the vault config is not allowed, or has a disallowed value.</p> </div> </td> </tr> </tbody> </table> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.is_vault_config" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">is_vault_config</span> <a href="#derivepassphrase._types.is_vault_config" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">is_vault_config</span><span class="p">(</span><span class="n">obj</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.TypeIs" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.TypeIs">TypeIs</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfig" href="#derivepassphrase._types.VaultConfig">VaultConfig</a></span><span class="p">]</span> </code></pre></div> <div class="doc doc-contents "> <p>Check if <code>obj</code> is a valid vault config, according to typing.</p> <p><span class="doc-section-title">Parameters:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code>obj</code> </td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></code> </td> <td> <div class="doc-md-description"> <p>The object to test.</p> </div> </td> <td> <em>required</em> </td> </tr> </tbody> </table> <p><span class="doc-section-title">Returns:</span></p> <table> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.TypeIs" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.TypeIs">TypeIs</a>[<a class="autorefs autorefs-internal" title="derivepassphrase._types.VaultConfig" href="#derivepassphrase._types.VaultConfig">VaultConfig</a>]</code> </td> <td> <div class="doc-md-description"> <p>True if this is a vault config, false otherwise.</p> </div> </td> </tr> </tbody> </table> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.js_truthiness" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">js_truthiness</span> <a href="#derivepassphrase._types.js_truthiness" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">js_truthiness</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span> </code></pre></div> <div class="doc doc-contents "> <p>Return the truthiness of the value, according to JavaScript/ECMAScript.</p> <p>Like Python, ECMAScript considers certain values to be false in a boolean context, and every other value to be true. These considerations do not agree: ECMAScript considers <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/math.html#math.nan"><code>math.nan</code></a> to be false too, and empty arrays and objects/dicts to be true, contrary to Python. Because of these discrepancies, we cannot defer to <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool"><code>bool</code></a> for ECMAScript truthiness checking, and need a separate, explicit predicate.</p> <p>(Some falsy values in ECMAScript aren’t defined in Python: <code>undefined</code>, and <code>document.all</code>. We do not implement support for those.)</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>We cannot use a simple <code>value not in falsy_values</code> check, because <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/math.html#math.nan"><code>math.nan</code></a> behaves in annoying and obstructive ways. In general, <code>float('NaN') == float('NaN')</code> is false, and <code>float('NaN') != math.nan</code> and <code>math.nan != math.nan</code> are true. CPython says <code>float('NaN') in [math.nan]</code> is false, PyPy3 says it is true. Seemingly the only reliable and portable way to check for <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/math.html#math.nan"><code>math.nan</code></a> is to use <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/math.html#math.isnan"><code>math.isnan</code></a> directly.</p> </div> <p><span class="doc-section-title">Parameters:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code>value</code> </td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></code> </td> <td> <div class="doc-md-description"> <p>The value to test.</p> </div> </td> <td> <em>required</em> </td> </tr> </tbody> </table> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.clean_up_falsy_vault_config_values" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">clean_up_falsy_vault_config_values</span> <a href="#derivepassphrase._types.clean_up_falsy_vault_config_values" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">clean_up_falsy_vault_config_values</span><span class="p">(</span> <span class="n">obj</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-internal" title="derivepassphrase._types.CleanupStep" href="#derivepassphrase._types.CleanupStep">CleanupStep</a></span><span class="p">]</span> <span class="o">|</span> <span class="kc">None</span> </code></pre></div> <div class="doc doc-contents "> <p>Convert falsy values in a vault config to correct types, in-place.</p> <p>Needed for compatibility with vault(1), which sometimes uses only truthiness checks.</p> <p>If vault(1) considered <code>obj</code> to be valid, then after clean up, <code>obj</code> will be valid as per <a class="autorefs autorefs-internal" href="#derivepassphrase._types.validate_vault_config"><code>validate_vault_config</code></a>.</p> <p><span class="doc-section-title">Parameters:</span></p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Description</th> <th>Default</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code>obj</code> </td> <td> <code><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></code> </td> <td> <div class="doc-md-description"> <p>A presumed valid vault configuration save for using falsy values of the wrong type.</p> </div> </td> <td> <em>required</em> </td> </tr> </tbody> </table> <p><span class="doc-section-title">Returns:</span></p> <table> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr class="doc-section-item"> <td> <code><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a>[<a class="autorefs autorefs-internal" title="derivepassphrase._types.CleanupStep" href="#derivepassphrase._types.CleanupStep">CleanupStep</a>] | None</code> </td> <td> <div class="doc-md-description"> <p>A list of 4-tuples <code>(key_tup, old_value, action, new_value)</code>, indicating the cleanup actions performed. <code>key_tup</code> is a sequence of object keys and/or array indices indicating the JSON path to the leaf value that was cleaned up, <code>old_value</code> is the old value, <code>new_value</code> is the new value, and <code>action</code> is either <code>replace</code> (<code>old_value</code> was replaced with <code>new_value</code>) or <code>remove</code> (<code>old_value</code> was removed, and <code>new_value</code> is meaningless).</p> <p>If cleanup was never attempted because of an obviously invalid vault configuration, then <code>None</code> is returned, directly.</p> </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> </div> </article> </div> </div> </main> <footer class="md-footer"> <nav class="md-footer__inner md-grid" aria-label="Footer" > <a href="../derivepassphrase.ssh_agent/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Submodule ssh_agent"> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </div> <div class="md-footer__title"> <span class="md-footer__direction"> Previous </span> <div class="md-ellipsis"> Submodule ssh_agent </div> </div> </a> <a href="../derivepassphrase.vault/" class="md-footer__link md-footer__link--next" aria-label="Next: Submodule vault"> <div class="md-footer__title"> <span class="md-footer__direction"> Next </span> <div class="md-ellipsis"> Submodule vault </div> </div> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> <div class="md-copyright__highlight"> Copyright © 2024 Marco Ricci (the-13th-letter) </div> Made with <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> Material for MkDocs </a> and <a href="https://mkdocstrings.github.io/python/" target="_blank" rel="noopener"> mkdocstrings-python </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> </body> </html>