luplo.config ============ .. py:module:: luplo.config .. autoapi-nested-parse:: Configuration loading from ``.luplo`` file, env vars, and CLI flags. Priority (highest wins): CLI flag → env var → ``.luplo`` file → defaults. Attributes ---------- .. autoapisummary:: luplo.config.CONFIG_FILENAME luplo.config.DEFAULT_DB_URL luplo.config.DEFAULT_RESEARCH_TTL_DAYS Classes ------- .. autoapisummary:: luplo.config.LuploConfig Functions --------- .. autoapisummary:: luplo.config.find_config_file luplo.config.load_config luplo.config.write_config Module Contents --------------- .. py:data:: CONFIG_FILENAME :value: '.luplo' .. py:data:: DEFAULT_DB_URL :value: 'postgresql://localhost/luplo' .. py:data:: DEFAULT_RESEARCH_TTL_DAYS :value: 90 .. py:class:: LuploConfig Resolved configuration from all sources. .. py:attribute:: db_url :type: str :value: 'postgresql://localhost/luplo' .. py:attribute:: backend_type :type: str :value: 'local' .. py:attribute:: server_url :type: str :value: '' .. py:attribute:: project_id :type: str :value: '' .. py:attribute:: project_name :type: str :value: '' .. py:attribute:: actor_id :type: str :value: '' .. py:attribute:: actor_name :type: str :value: '' .. py:attribute:: actor_email :type: str :value: '' .. py:attribute:: research_ttl_days :type: int :value: 90 .. py:attribute:: disabled_checks :type: tuple[str, Ellipsis] :value: () .. py:function:: find_config_file() -> pathlib.Path | None Walk up from cwd looking for a ``.luplo`` file. .. py:function:: load_config() -> LuploConfig Load configuration with priority: env var → ``.luplo`` file → defaults. CLI flags override at call time (not handled here). .. py:function:: write_config(path: pathlib.Path, *, db_url: str, project_id: str, project_name: str, actor_id: str, actor_name: str, actor_email: str = '', server_url: str = '', backend_type: str = 'local') -> None Write a ``.luplo`` config file.