Code manual ============ .. Apache 2.0 https://github.com/google/material-design-icons .. Browse Google Material Symbol icons https://fonts.google.com/icons .. colors https://sphinx-design.readthedocs.io/en/latest/css_classes.html#colors .. grid:: 2 :margin: 3 :padding: 2 :gutter: 3 3 3 3 .. grid-item-card:: :material-twotone:`login;2em;sd-text-success` Entrypoints :class-card: sd-border-0 - :doc:`cli_dependencies` - :doc:`cli_igor` - :doc:`cli_scm_version` .. grid-item-card:: :material-twotone:`pinch;2em;sd-text-primary` Snippet :class-card: sd-border-0 :link-type: url :link: https://drain-swamp-snippet.readthedocs.io/en/stable/code/snip.html#drain_swamp_snippet.snip.Snip :link-alt: Snippet base package drain-swamp-snippet has class Snip and enum ReplaceResult - drain_swamp_snippet.Snip - drain_swamp_snippet.ReplaceResult .. grid-item-card:: :material-twotone:`lock_open;2em;sd-text-success` Dependency locking :class-card: sd-border-0 - :doc:`lock infile ` - :doc:`lock inspect ` - :doc:`lock util ` - :doc:`snippet dependencies ` .. grid-item-card:: :material-twotone:`extension;2em;sd-text-success` drain-swamp utils :class-card: sd-border-0 - :doc:`version semantic ` - :doc:`Sphinx conf ` - :doc:`Igor.py utils ` .. grid-item-card:: :material-twotone:`foundation;2em;sd-text-muted` Core :class-card: sd-border-0 - :doc:`Constants ` - :doc:`Version file ` - :doc:`Constants maybe ` - :doc:`Exceptions ` - :doc:`Check type ` - :doc:`pyproject.toml read ` - :doc:`pyproject.toml venvs ` - :doc:`pyproject.toml parser ` - :doc:`Package metadata ` - :doc:`Package installed ` - :doc:`Run command ` .. grid-item-card:: :octicon:`versions;2em;sd-text-success` Version file :class-card: sd-border-0 - :doc:`Overrides ` - :doc:`Dump ` drain-swamp has built-in build plugins and is extendable. .. note:: code isolation Lets not reinvent the wheel. Care is taken to leverage the upstream codebases. Counter-intuitively, there is less reliance on the drain-swamp codebase .. grid:: 2 :margin: 3 :padding: 2 :gutter: 3 3 3 3 .. grid-item-card:: :material-twotone:`settings;2em;sd-text-muted` Core :class-card: sd-border-0 - :doc:`monkey/config_settings` - :doc:`monkey/patch_pyproject_reading` .. grid-item-card:: :material-twotone:`schedule;2em;sd-text-primary` Plugin manager :class-card: sd-border-0 - :doc:`PM subpackage ` - :doc:`PM constants ` - :doc:`Hook implementation markers ` - :doc:`Hook specs ` - :doc:`Plugin Manager ` .. grid-item-card:: :material-twotone:`extension;2em;sd-text-success` Plugins :class-card: sd-border-0 - :doc:`Plugins subpackage ` - :doc:`SCM version ` .. grid-item-card:: :material-twotone:`build;2em;sd-text-success` Build integration :class-card: sd-border-0 - :doc:`Get version ` - :doc:`Infer version ` - :doc:`Version keyword ` .. module:: drain_swamp :platform: Unix :synopsis: package level exports .. py:data:: drain_swamp.__all__ :type: tuple[str, str, str, str] :value: ("PyProjectTOMLParseError", "BackendNotSupportedError", "PyProjectTOMLReadError", "MissingRequirementsFoldersFiles") Package level exports are limited to just custom exceptions. This was originally done to avoid unexpected side effects