# {py:mod}`phystool.helper` ```{py:module} phystool.helper ``` ```{autodoc2-docstring} phystool.helper :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ContextIterator ` - ```{autodoc2-docstring} phystool.helper.ContextIterator :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`should_compile ` - ```{autodoc2-docstring} phystool.helper.should_compile :summary: ``` * - {py:obj}`terminal_yes_no ` - ```{autodoc2-docstring} phystool.helper.terminal_yes_no :summary: ``` * - {py:obj}`silent_keyboard_interrupt ` - ```{autodoc2-docstring} phystool.helper.silent_keyboard_interrupt :summary: ``` * - {py:obj}`greptex ` - ```{autodoc2-docstring} phystool.helper.greptex :summary: ``` * - {py:obj}`bat ` - ```{autodoc2-docstring} phystool.helper.bat :summary: ``` * - {py:obj}`as_valid_filename ` - ```{autodoc2-docstring} phystool.helper.as_valid_filename :summary: ``` * - {py:obj}`progress_bar ` - ```{autodoc2-docstring} phystool.helper.progress_bar :summary: ``` * - {py:obj}`texfile_to_symlink ` - ```{autodoc2-docstring} phystool.helper.texfile_to_symlink :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`logger ` - ```{autodoc2-docstring} phystool.helper.logger :summary: ``` ```` ### API ````{py:data} logger :canonical: phystool.helper.logger :value: > 'getLogger(...)' ```{autodoc2-docstring} phystool.helper.logger ``` ```` ````{py:function} should_compile(tex_file: pathlib.Path) -> bool :canonical: phystool.helper.should_compile ```{autodoc2-docstring} phystool.helper.should_compile ``` ```` ````{py:function} terminal_yes_no(prompt: str) -> bool :canonical: phystool.helper.terminal_yes_no ```{autodoc2-docstring} phystool.helper.terminal_yes_no ``` ```` ````{py:function} silent_keyboard_interrupt(func) :canonical: phystool.helper.silent_keyboard_interrupt ```{autodoc2-docstring} phystool.helper.silent_keyboard_interrupt ``` ```` ````{py:function} greptex(query: str, path: pathlib.Path, silent: bool) -> set[uuid.UUID] :canonical: phystool.helper.greptex ```{autodoc2-docstring} phystool.helper.greptex ``` ```` ````{py:function} bat(uuid: uuid.UUID) -> None :canonical: phystool.helper.bat ```{autodoc2-docstring} phystool.helper.bat ``` ```` ````{py:function} as_valid_filename(value: str) -> str :canonical: phystool.helper.as_valid_filename ```{autodoc2-docstring} phystool.helper.as_valid_filename ``` ```` `````{py:class} ContextIterator(iterable: typing.Iterable[T], before: int, after: int) :canonical: phystool.helper.ContextIterator ```{autodoc2-docstring} phystool.helper.ContextIterator ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} phystool.helper.ContextIterator.__init__ ``` ````{py:method} get() -> list[T] :canonical: phystool.helper.ContextIterator.get ```{autodoc2-docstring} phystool.helper.ContextIterator.get ``` ```` ````` ````{py:function} progress_bar(max_step: int, step: int, length: int, msg: str) -> None :canonical: phystool.helper.progress_bar ```{autodoc2-docstring} phystool.helper.progress_bar ``` ```` ````{py:function} texfile_to_symlink(tex_file: pathlib.Path) -> pathlib.Path :canonical: phystool.helper.texfile_to_symlink ```{autodoc2-docstring} phystool.helper.texfile_to_symlink ``` ````