8Provide shared default directory exclusion lists for linter and exporter.
12- Define common exclusion directories used by both the linter and the source exporter.
13- Provide tool-specific supersets for each consumer.
14- Centralise wildcard (substring) exclusion patterns.
26- All sets are frozen at module level; consumers copy before mutating.
27- Linter and exporter import from here instead of defining their own constants.
31- oct.core.diagnostics (_dbg structured logger; imported but never called, the module holds constants only)
36from oct.core.diagnostics
import _dbg
39COMMON_EXCLUDE_DIRS = {
45 "copied_python_files",
64LINTER_EXCLUDE_DIRS = COMMON_EXCLUDE_DIRS | {
70EXPORTER_EXCLUDE_DIRS = COMMON_EXCLUDE_DIRS | {
85WILDCARD_EXCLUDE_DIRS = [
"cache",
"_source",
"_skeleton",
"logs",
"_exports",
"_build",
".venv",
"venv"]
91NEVER_EXPORT_FILE_PATTERNS = [
114GIT_IGNORE_DEFAULTS: tuple[str, ...] = (
127 "# Distribution / packaging",
133 ".formatter_archive/",
137 "# Sphinx / docs build",
140 "docs/_autosummary/",
143 "# Testing / coverage",