git.schokokeks.org
Repositories
Help
Report an Issue
derivepassphrase.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
38270c4
Branches
Tags
documentation-tree
master
unstable/modularize-and-refactor-test-machinery
unstable/ssh-agent-socket-providers
wishlist
0.1.0
0.1.1
0.1.2
0.1.3
0.2.0
0.3.0
0.3.1
0.3.2
0.3.3
0.4.0
0.5.1
0.5.2
derivepassphrase.git
0.x
reference
derivepassphrase._types
index.html
Deployed ee6f43b6be48 to 0.x with MkDocs 1.6.1 and mike 2.1.3
Marco Ricci
commited
38270c4
at 2025-06-24 22:13:29
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.6.14"> <title>Submodule _types - derivepassphrase</title> <link rel="stylesheet" href="../../assets/stylesheets/main.342714a4.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"> <link rel="stylesheet" href="../../wishlist_styling.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/" class="md-tabs__link"> Tutorials & Examples </a> </li> <li class="md-tabs__item"> <a href="../../how-tos/" class="md-tabs__link"> How-Tos </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="../../explanation/" class="md-tabs__link"> Design & Background </a> </li> <li class="md-tabs__item"> <a href="../../changelog/" class="md-tabs__link"> Changelog </a> </li> <li class="md-tabs__item"> <a href="../../wishlist/" class="md-tabs__link"> Wishlist </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://git.schokokeks.org/derivepassphrase.git" 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.7.2 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" > <div class="md-nav__link md-nav__container"> <a href="../../tutorials/" class="md-nav__link "> <span class="md-ellipsis"> Tutorials & Examples </span> </a> <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <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-passphrase/" class="md-nav__link"> <span class="md-ellipsis"> 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--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > <div class="md-nav__link md-nav__container"> <a href="../../how-tos/" class="md-nav__link "> <span class="md-ellipsis"> How-Tos </span> </a> <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0"> <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="false"> <label class="md-nav__title" for="__nav_3"> <span class="md-nav__icon md-icon"></span> How-Tos </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../how-tos/ssh-key/" class="md-nav__link"> <span class="md-ellipsis"> How to set up derivepassphrase vault with an SSH key </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_4" 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_4" id="__nav_4_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_4"> <span class="md-nav__icon md-icon"></span> Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" > <label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex=""> <span class="md-ellipsis"> Man pages </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_2"> <span class="md-nav__icon md-icon"></span> Man pages </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"> derivepassphrase(1) </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-vault.1/" class="md-nav__link"> <span class="md-ellipsis"> derivepassphrase-vault(1) </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-export.1/" class="md-nav__link"> <span class="md-ellipsis"> derivepassphrase-export(1) </span> </a> </li> <li class="md-nav__item"> <a href="../derivepassphrase-export-vault.1/" class="md-nav__link"> <span class="md-ellipsis"> derivepassphrase-export-vault(1) </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_4_3" checked> <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex=""> <span class="md-ellipsis"> API docs: Module derivepassphrase </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_4_3"> <span class="md-nav__icon md-icon"></span> API docs: 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.T_Buffer" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> T_Buffer </span> </a> </li> <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.SSHKeyCommentPair" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHKeyCommentPair </span> </a> <nav class="md-nav" aria-label=" SSHKeyCommentPair"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSHKeyCommentPair.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.SSHKeyCommentPair.comment" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> comment </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSHKeyCommentPair.toreadonly" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> toreadonly </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> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.EXTENSION" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXTENSION </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> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.EXTENSION_FAILURE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXTENSION_FAILURE </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.EXTENSION_RESPONSE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXTENSION_RESPONSE </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StoreroomKeyPair </span> </a> <nav class="md-nav" aria-label=" StoreroomKeyPair"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair.encryption_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> encryption_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair.signing_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> signing_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair.toreadonly" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> toreadonly </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StoreroomMasterKeys </span> </a> <nav class="md-nav" aria-label=" StoreroomMasterKeys"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.hashing_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> hashing_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.encryption_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> encryption_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.signing_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> signing_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.toreadonly" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> toreadonly </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.PEP508Extra" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PEP508Extra </span> </a> <nav class="md-nav" aria-label=" PEP508Extra"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.PEP508Extra.EXPORT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXPORT </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.Feature" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Feature </span> </a> <nav class="md-nav" aria-label=" Feature"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.Feature.SSH_KEY" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SSH_KEY </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.DerivationScheme" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> DerivationScheme </span> </a> <nav class="md-nav" aria-label=" DerivationScheme"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.DerivationScheme.VAULT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ForeignConfigurationFormat </span> </a> <nav class="md-nav" aria-label=" ForeignConfigurationFormat"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_STOREROOM" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT_STOREROOM </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_V02" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT_V02 </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_V03" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT_V03 </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ExportSubcommand" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ExportSubcommand </span> </a> <nav class="md-nav" aria-label=" ExportSubcommand"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.ExportSubcommand.VAULT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.Subcommand" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Subcommand </span> </a> <nav class="md-nav" aria-label=" Subcommand"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.Subcommand.EXPORT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXPORT </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.Subcommand.VAULT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT </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> <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> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" > <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex=""> <span class="md-ellipsis"> Technical prerequisites </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_4"> <span class="md-nav__icon md-icon"></span> Technical prerequisites </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../prerequisites-ssh-key/" class="md-nav__link"> <span class="md-ellipsis"> Using derivepassphrase vault with an SSH key </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > <div class="md-nav__link md-nav__container"> <a href="../../explanation/" class="md-nav__link "> <span class="md-ellipsis"> Design & Background </span> </a> <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5"> <span class="md-nav__icon md-icon"></span> Design & Background </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> <span class="md-ellipsis"> "altered versions" license requirement </span> </a> </li> <li class="md-nav__item"> <a href="../../explanation/faq-vault-interchangable-passphrases/" class="md-nav__link"> <span class="md-ellipsis"> "interchangable passphrases" in vault </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" > <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0"> <span class="md-ellipsis"> Changelog </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6"> <span class="md-nav__icon md-icon"></span> Changelog </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../changelog/" class="md-nav__link"> <span class="md-ellipsis"> Changelog </span> </a> </li> <li class="md-nav__item"> <a href="../../upgrade-notes/" class="md-nav__link"> <span class="md-ellipsis"> Upgrade notes </span> </a> </li> <li class="md-nav__item"> <a href="../../pycompatibility/" class="md-nav__link"> <span class="md-ellipsis"> Python compatibility </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" > <div class="md-nav__link md-nav__container"> <a href="../../wishlist/" class="md-nav__link "> <span class="md-ellipsis"> Wishlist </span> </a> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7"> <span class="md-nav__icon md-icon"></span> Wishlist </label> <ul class="md-nav__list" data-md-scrollfix> </ul> </nav> </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.T_Buffer" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> T_Buffer </span> </a> </li> <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.SSHKeyCommentPair" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> SSHKeyCommentPair </span> </a> <nav class="md-nav" aria-label=" SSHKeyCommentPair"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSHKeyCommentPair.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.SSHKeyCommentPair.comment" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> comment </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSHKeyCommentPair.toreadonly" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> toreadonly </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> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENTC.EXTENSION" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXTENSION </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> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.EXTENSION_FAILURE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXTENSION_FAILURE </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.SSH_AGENT.EXTENSION_RESPONSE" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXTENSION_RESPONSE </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StoreroomKeyPair </span> </a> <nav class="md-nav" aria-label=" StoreroomKeyPair"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair.encryption_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> encryption_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair.signing_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> signing_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomKeyPair.toreadonly" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> toreadonly </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StoreroomMasterKeys </span> </a> <nav class="md-nav" aria-label=" StoreroomMasterKeys"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.hashing_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> hashing_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.encryption_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> encryption_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.signing_key" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> signing_key </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.StoreroomMasterKeys.toreadonly" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> toreadonly </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.PEP508Extra" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PEP508Extra </span> </a> <nav class="md-nav" aria-label=" PEP508Extra"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.PEP508Extra.EXPORT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXPORT </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.Feature" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Feature </span> </a> <nav class="md-nav" aria-label=" Feature"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.Feature.SSH_KEY" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> SSH_KEY </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.DerivationScheme" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> DerivationScheme </span> </a> <nav class="md-nav" aria-label=" DerivationScheme"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.DerivationScheme.VAULT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ForeignConfigurationFormat </span> </a> <nav class="md-nav" aria-label=" ForeignConfigurationFormat"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_STOREROOM" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT_STOREROOM </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_V02" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT_V02 </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_V03" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT_V03 </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.ExportSubcommand" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ExportSubcommand </span> </a> <nav class="md-nav" aria-label=" ExportSubcommand"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.ExportSubcommand.VAULT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.Subcommand" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Subcommand </span> </a> <nav class="md-nav" aria-label=" Subcommand"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#derivepassphrase._types.Subcommand.EXPORT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> EXPORT </span> </a> </li> <li class="md-nav__item"> <a href="#derivepassphrase._types.Subcommand.VAULT" class="md-nav__link"> <span class="md-ellipsis"> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> VAULT </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> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <a href="https://git.schokokeks.org/derivepassphrase.git/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> <div class="doc doc-object doc-module"> <h1 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></h1> <div class="doc doc-contents first"> <p>Types used by derivepassphrase.</p> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h2 id="derivepassphrase._types.T_Buffer" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">T_Buffer</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-module-attribute"><code>module-attribute</code></small> </span> <a href="#derivepassphrase._types.T_Buffer" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc-signature highlight"><pre><span></span><code><span class="n">T_Buffer</span> <span class="o">=</span> <span class="n"><a class="autorefs autorefs-external" title="typing.TypeVar" href="https://docs.python.org/3/library/typing.html#typing.TypeVar">TypeVar</a></span><span class="p">(</span><span class="s1">'T_Buffer'</span><span class="p">,</span> <span class="n"><span title="typing.TypeVar(bound)">bound</span></span><span class="o">=</span><span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Buffer" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Buffer">Buffer</a></span><span class="p">)</span> </code></pre></div> <div class="doc doc-contents "> <p>A <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/typing.html#typing.TypeVar"><code>TypeVar</code></a> for classes implementing the <a class="autorefs autorefs-external" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Buffer"><code>Buffer</code></a> interface.</p> <details class="warning" open> <summary>Warning</summary> <p>Non-public attribute, provided for didactical and educational purposes only. Subject to change without notice, including removal.</p> </details> </div> </div> <div class="doc doc-object doc-class"> <h2 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></h2> <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=" key instance-attribute (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=" phrase instance-attribute (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=" unicode_normalization_form instance-attribute (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=" length instance-attribute (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=" repeat instance-attribute (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=" lower instance-attribute (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=" upper instance-attribute (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=" number instance-attribute (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=" space instance-attribute (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=" dash instance-attribute (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=" symbol instance-attribute (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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h2 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></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-internal" title=" VaultConfigGlobalSettings (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=" notes instance-attribute (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=" key instance-attribute (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=" phrase instance-attribute (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=" unicode_normalization_form instance-attribute (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" 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>As per the global settings.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" length instance-attribute (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/functions.html#int">int</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=" repeat instance-attribute (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/functions.html#int">int</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=" lower instance-attribute (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/functions.html#int">int</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=" upper instance-attribute (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/functions.html#int">int</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=" number instance-attribute (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/functions.html#int">int</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=" space instance-attribute (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/functions.html#int">int</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=" dash instance-attribute (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/functions.html#int">int</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=" symbol instance-attribute (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/functions.html#int">int</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"> <h3 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></h3> <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"> <h2 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></h2> <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=" VaultConfigGlobalSettings (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=" VaultConfigServicesSettings (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"> <h2 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></h2> <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=" path instance-attribute (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=" old_value instance-attribute (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=" action instance-attribute (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=" new_value instance-attribute (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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h3 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></h3> <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"> <h2 id="derivepassphrase._types.SSHKeyCommentPair" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">SSHKeyCommentPair</span> <a href="#derivepassphrase._types.SSHKeyCommentPair" class="headerlink" title="Permanent link">¶</a></h2> <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>, <code><a class="autorefs autorefs-external" title="typing.Generic" href="https://docs.python.org/3/library/typing.html#typing.Generic">Generic</a>[<a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</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=" key instance-attribute (derivepassphrase._types.SSHKeyCommentPair.key)" href="#derivepassphrase._types.SSHKeyCommentPair.key">key</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</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=" comment instance-attribute (derivepassphrase._types.SSHKeyCommentPair.comment)" href="#derivepassphrase._types.SSHKeyCommentPair.comment">comment</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</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"> <h3 id="derivepassphrase._types.SSHKeyCommentPair.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.SSHKeyCommentPair.key" class="headerlink" title="Permanent link">¶</a></h3> <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-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.SSHKeyCommentPair.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.SSHKeyCommentPair.comment" class="headerlink" title="Permanent link">¶</a></h3> <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-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.SSHKeyCommentPair.toreadonly" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">toreadonly</span> <a href="#derivepassphrase._types.SSHKeyCommentPair.toreadonly" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">toreadonly</span><span class="p">()</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-internal" title=" SSHKeyCommentPair (derivepassphrase._types.SSHKeyCommentPair)" href="#derivepassphrase._types.SSHKeyCommentPair">SSHKeyCommentPair</a></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="p">]</span> </code></pre></div> <div class="doc doc-contents "> <p>Return a copy with read-only entries.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 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></h2> <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=" REQUEST_IDENTITIES class-attribute instance-attribute (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" title=" IDENTITIES_ANSWER class-attribute instance-attribute " 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=" SIGN_REQUEST class-attribute instance-attribute (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" title=" SIGN_RESPONSE class-attribute instance-attribute " 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=" ADD_IDENTITY class-attribute instance-attribute (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=" REMOVE_IDENTITY class-attribute instance-attribute (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=" ADD_ID_CONSTRAINED class-attribute instance-attribute (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> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" EXTENSION class-attribute instance-attribute (derivepassphrase._types.SSH_AGENTC.EXTENSION)" href="#derivepassphrase._types.SSH_AGENTC.EXTENSION">EXTENSION</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>Issue a named request that isn’t part of the core agent protocol. Expecting <a class="autorefs autorefs-internal" title=" EXTENSION_RESPONSE class-attribute instance-attribute " href="#derivepassphrase._types.SSH_AGENT.EXTENSION_RESPONSE"><code>SSH_AGENT.EXTENSION_RESPONSE</code></a> or <a class="autorefs autorefs-internal" title=" EXTENSION_FAILURE class-attribute instance-attribute " href="#derivepassphrase._types.SSH_AGENT.EXTENSION_FAILURE"><code>SSH_AGENT.EXTENSION_FAILURE</code></a> if the named request is supported, <a class="autorefs autorefs-internal" title=" FAILURE class-attribute instance-attribute " href="#derivepassphrase._types.SSH_AGENT.FAILURE"><code>SSH_AGENT.FAILURE</code></a> otherwise.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">REQUEST_IDENTITIES</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"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">SIGN_REQUEST</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"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">ADD_IDENTITY</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"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">REMOVE_IDENTITY</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"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">ADD_ID_CONSTRAINED</span> <span class="o">=</span> <span class="mi">25</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.SSH_AGENTC.EXTENSION" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">EXTENSION</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.EXTENSION" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">EXTENSION</span> <span class="o">=</span> <span class="mi">27</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 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></h2> <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=" FAILURE class-attribute instance-attribute (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=" SUCCESS class-attribute instance-attribute (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=" IDENTITIES_ANSWER class-attribute instance-attribute (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" title=" REQUEST_IDENTITIES class-attribute instance-attribute " 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=" SIGN_RESPONSE class-attribute instance-attribute (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" title=" SIGN_REQUEST class-attribute instance-attribute " href="#derivepassphrase._types.SSH_AGENTC.SIGN_REQUEST"><code>SSH_AGENTC.SIGN_REQUEST</code></a>.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" EXTENSION_FAILURE class-attribute instance-attribute (derivepassphrase._types.SSH_AGENT.EXTENSION_FAILURE)" href="#derivepassphrase._types.SSH_AGENT.EXTENSION_FAILURE">EXTENSION_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>Unsuccessful answer to <a class="autorefs autorefs-internal" title=" EXTENSION class-attribute instance-attribute " href="#derivepassphrase._types.SSH_AGENTC.EXTENSION"><code>SSH_AGENTC.EXTENSION</code></a>.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" EXTENSION_RESPONSE class-attribute instance-attribute (derivepassphrase._types.SSH_AGENT.EXTENSION_RESPONSE)" href="#derivepassphrase._types.SSH_AGENT.EXTENSION_RESPONSE">EXTENSION_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" title=" EXTENSION class-attribute instance-attribute " href="#derivepassphrase._types.SSH_AGENTC.EXTENSION"><code>SSH_AGENTC.EXTENSION</code></a>.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">FAILURE</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"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">SUCCESS</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"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">IDENTITIES_ANSWER</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"> <h3 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></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">SIGN_RESPONSE</span> <span class="o">=</span> <span class="mi">14</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.SSH_AGENT.EXTENSION_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">EXTENSION_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.EXTENSION_FAILURE" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">EXTENSION_FAILURE</span> <span class="o">=</span> <span class="mi">28</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.SSH_AGENT.EXTENSION_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">EXTENSION_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.EXTENSION_RESPONSE" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">EXTENSION_RESPONSE</span> <span class="o">=</span> <span class="mi">29</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.StoreroomKeyPair" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">StoreroomKeyPair</span> <a href="#derivepassphrase._types.StoreroomKeyPair" class="headerlink" title="Permanent link">¶</a></h2> <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>, <code><a class="autorefs autorefs-external" title="typing.Generic" href="https://docs.python.org/3/library/typing.html#typing.Generic">Generic</a>[<a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a>]</code></p> <p>A pair of AES256 keys, one for encryption and one for signing.</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=" encryption_key instance-attribute (derivepassphrase._types.StoreroomKeyPair.encryption_key)" href="#derivepassphrase._types.StoreroomKeyPair.encryption_key">encryption_key</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></code> </td> <td> <div class="doc-md-description"> <p>AES256 key, used for encryption with AES256-CBC (with PKCS#7 padding).</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" signing_key instance-attribute (derivepassphrase._types.StoreroomKeyPair.signing_key)" href="#derivepassphrase._types.StoreroomKeyPair.signing_key">signing_key</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></code> </td> <td> <div class="doc-md-description"> <p>AES256 key, used for signing with HMAC-SHA256.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.StoreroomKeyPair.encryption_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">encryption_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.StoreroomKeyPair.encryption_key" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">encryption_key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.StoreroomKeyPair.signing_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">signing_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.StoreroomKeyPair.signing_key" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">signing_key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.StoreroomKeyPair.toreadonly" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">toreadonly</span> <a href="#derivepassphrase._types.StoreroomKeyPair.toreadonly" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">toreadonly</span><span class="p">()</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-internal" title=" StoreroomKeyPair (derivepassphrase._types.StoreroomKeyPair)" href="#derivepassphrase._types.StoreroomKeyPair">StoreroomKeyPair</a></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="p">]</span> </code></pre></div> <div class="doc doc-contents "> <p>Return a copy with read-only entries.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.StoreroomMasterKeys" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">StoreroomMasterKeys</span> <a href="#derivepassphrase._types.StoreroomMasterKeys" class="headerlink" title="Permanent link">¶</a></h2> <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>, <code><a class="autorefs autorefs-external" title="typing.Generic" href="https://docs.python.org/3/library/typing.html#typing.Generic">Generic</a>[<a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a>]</code></p> <p>A triple of AES256 keys, for encryption, signing and hashing.</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=" hashing_key instance-attribute (derivepassphrase._types.StoreroomMasterKeys.hashing_key)" href="#derivepassphrase._types.StoreroomMasterKeys.hashing_key">hashing_key</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></code> </td> <td> <div class="doc-md-description"> <p>AES256 key, used for hashing with HMAC-SHA256 to derive a hash table slot for an item.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" encryption_key instance-attribute (derivepassphrase._types.StoreroomMasterKeys.encryption_key)" href="#derivepassphrase._types.StoreroomMasterKeys.encryption_key">encryption_key</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></code> </td> <td> <div class="doc-md-description"> <p>AES256 key, used for encryption with AES256-CBC (with PKCS#7 padding).</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" signing_key instance-attribute (derivepassphrase._types.StoreroomMasterKeys.signing_key)" href="#derivepassphrase._types.StoreroomMasterKeys.signing_key">signing_key</a></code></td> <td> <code><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></code> </td> <td> <div class="doc-md-description"> <p>AES256 key, used for signing with HMAC-SHA256.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.StoreroomMasterKeys.hashing_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">hashing_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.StoreroomMasterKeys.hashing_key" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">hashing_key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.StoreroomMasterKeys.encryption_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">encryption_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.StoreroomMasterKeys.encryption_key" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">encryption_key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.StoreroomMasterKeys.signing_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">signing_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.StoreroomMasterKeys.signing_key" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">signing_key</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-internal" title=" T_Buffer module-attribute (derivepassphrase._types.T_Buffer)" href="#derivepassphrase._types.T_Buffer">T_Buffer</a></span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-function"> <h3 id="derivepassphrase._types.StoreroomMasterKeys.toreadonly" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">toreadonly</span> <a href="#derivepassphrase._types.StoreroomMasterKeys.toreadonly" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="nf">toreadonly</span><span class="p">()</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-internal" title=" StoreroomMasterKeys (derivepassphrase._types.StoreroomMasterKeys)" href="#derivepassphrase._types.StoreroomMasterKeys">StoreroomMasterKeys</a></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="p">]</span> </code></pre></div> <div class="doc doc-contents "> <p>Return a copy with read-only entries.</p> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.PEP508Extra" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">PEP508Extra</span> <a href="#derivepassphrase._types.PEP508Extra" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code>, <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>PEP 508 extras supported by <code>derivepassphrase</code>.</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=" EXPORT class-attribute instance-attribute (derivepassphrase._types.PEP508Extra.EXPORT)" href="#derivepassphrase._types.PEP508Extra.EXPORT">EXPORT</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The necessary dependencies to allow the <code>export</code> subcommand to handle as many foreign configuration formats as possible.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.PEP508Extra.EXPORT" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">EXPORT</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.PEP508Extra.EXPORT" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">EXPORT</span> <span class="o">=</span> <span class="s1">'export'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.Feature" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">Feature</span> <a href="#derivepassphrase._types.Feature" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code>, <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>Optional features supported by <code>derivepassphrase</code>.</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=" SSH_KEY class-attribute instance-attribute (derivepassphrase._types.Feature.SSH_KEY)" href="#derivepassphrase._types.Feature.SSH_KEY">SSH_KEY</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The <code>vault</code> subcommand supports using a master SSH key, instead of a master passphrase, if an SSH agent is running and the master SSH key is loaded into it.</p> <p>This feature requires Python support for the SSH agent’s chosen communication channel technology.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.Feature.SSH_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">SSH_KEY</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.Feature.SSH_KEY" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">SSH_KEY</span> <span class="o">=</span> <span class="s1">'master SSH key'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.DerivationScheme" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">DerivationScheme</span> <a href="#derivepassphrase._types.DerivationScheme" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code>, <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>Derivation schemes provided by <code>derivepassphrase</code>.</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=" VAULT class-attribute instance-attribute (derivepassphrase._types.DerivationScheme.VAULT)" href="#derivepassphrase._types.DerivationScheme.VAULT">VAULT</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The derivation scheme used by James Coglan’s <code>vault</code>.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.DerivationScheme.VAULT" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">VAULT</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.DerivationScheme.VAULT" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">VAULT</span> <span class="o">=</span> <span class="s1">'vault'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.ForeignConfigurationFormat" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ForeignConfigurationFormat</span> <a href="#derivepassphrase._types.ForeignConfigurationFormat" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code>, <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>Configuration formats supported by <code>derivepassphrase export</code>.</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=" VAULT_STOREROOM class-attribute instance-attribute (derivepassphrase._types.ForeignConfigurationFormat.VAULT_STOREROOM)" href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_STOREROOM">VAULT_STOREROOM</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The vault “storeroom” format for the <code>export vault</code> subcommand.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" VAULT_V02 class-attribute instance-attribute (derivepassphrase._types.ForeignConfigurationFormat.VAULT_V02)" href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_V02">VAULT_V02</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The vault-native “v0.2” format for the <code>export vault</code> subcommand.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" VAULT_V03 class-attribute instance-attribute (derivepassphrase._types.ForeignConfigurationFormat.VAULT_V03)" href="#derivepassphrase._types.ForeignConfigurationFormat.VAULT_V03">VAULT_V03</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The vault-native “v0.3” format for the <code>export vault</code> subcommand.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.ForeignConfigurationFormat.VAULT_STOREROOM" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">VAULT_STOREROOM</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.ForeignConfigurationFormat.VAULT_STOREROOM" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">VAULT_STOREROOM</span> <span class="o">=</span> <span class="s1">'vault storeroom'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.ForeignConfigurationFormat.VAULT_V02" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">VAULT_V02</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.ForeignConfigurationFormat.VAULT_V02" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">VAULT_V02</span> <span class="o">=</span> <span class="s1">'vault v0.2'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.ForeignConfigurationFormat.VAULT_V03" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">VAULT_V03</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.ForeignConfigurationFormat.VAULT_V03" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">VAULT_V03</span> <span class="o">=</span> <span class="s1">'vault v0.3'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.ExportSubcommand" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ExportSubcommand</span> <a href="#derivepassphrase._types.ExportSubcommand" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code>, <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>Subcommands provided by <code>derivepassphrase export</code>.</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=" VAULT class-attribute instance-attribute (derivepassphrase._types.ExportSubcommand.VAULT)" href="#derivepassphrase._types.ExportSubcommand.VAULT">VAULT</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The <code>export vault</code> subcommand.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.ExportSubcommand.VAULT" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">VAULT</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.ExportSubcommand.VAULT" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">VAULT</span> <span class="o">=</span> <span class="s1">'vault'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-class"> <h2 id="derivepassphrase._types.Subcommand" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">Subcommand</span> <a href="#derivepassphrase._types.Subcommand" class="headerlink" title="Permanent link">¶</a></h2> <div class="doc doc-contents "> <p class="doc doc-class-bases"> Bases: <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code>, <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>Subcommands provided by <code>derivepassphrase</code>.</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=" EXPORT class-attribute instance-attribute (derivepassphrase._types.Subcommand.EXPORT)" href="#derivepassphrase._types.Subcommand.EXPORT">EXPORT</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The <code>export</code> subcommand.</p> </div> </td> </tr> <tr class="doc-section-item"> <td><code><a class="autorefs autorefs-internal" title=" VAULT class-attribute instance-attribute (derivepassphrase._types.Subcommand.VAULT)" href="#derivepassphrase._types.Subcommand.VAULT">VAULT</a></code></td> <td> </td> <td> <div class="doc-md-description"> <p>The <code>vault</code> subcommand.</p> </div> </td> </tr> </tbody> </table> <div class="doc doc-children"> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.Subcommand.EXPORT" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">EXPORT</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.Subcommand.EXPORT" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">EXPORT</span> <span class="o">=</span> <span class="s1">'export'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> <div class="doc doc-object doc-attribute"> <h3 id="derivepassphrase._types.Subcommand.VAULT" class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">VAULT</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.Subcommand.VAULT" class="headerlink" title="Permanent link">¶</a></h3> <div class="doc-signature highlight"><pre><span></span><code><span class="n">VAULT</span> <span class="o">=</span> <span class="s1">'vault'</span> </code></pre></div> <div class="doc doc-contents "> </div> </div> </div> </div> </div> <div class="doc doc-object doc-function"> <h2 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></h2> <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"> <h2 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></h2> <div class="doc-overloads"> <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_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="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="p">)</span> <span class="o">-></span> <span class="kc">None</span> </code></pre></div><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="o">-></span> <span class="kc">None</span> </code></pre></div> </div> <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="n"><span title="derivepassphrase._types._Omitted">_Omitted</span></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>(Deprecated.) Ignored since v0.4.0.</p> </div> </td> <td> <code><span title="derivepassphrase._types._Omitted">_Omitted</span>()</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> <details class="warning" open> <summary>Deprecated argument</summary> <p><strong>v0.4.0</strong>: The <code>allow_derivepassphrase_extensions</code> keyword argument is deprecated, and will be removed in v1.0. There are no specified <code>derivepassphrase</code> extensions.</p> </details> </div> </div> <div class="doc doc-object doc-function"> <h2 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></h2> <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=" VaultConfig (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=" VaultConfig (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"> <h2 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></h2> <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"> <h2 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></h2> <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=" CleanupStep (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" title=" validate_vault_config" 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=" CleanupStep (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 © 2025 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>