dbcli / dbcli/pgcli

Replace the pgclirc ConfigObj parser while preserving configuration compatibility

未关闭
#1,634 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
13.4k
派生
612
平均合并
6 天 14 小时
30 天内合并 PR
10

描述

## Description

Following up on the maintainer's [request to investigate replacing ConfigObj with configparser](https://github.com/dbcli/pgcli/pull/1631#discussion_r3954767886), this tracks a separate migration of Pgcli's main configuration parser.

The first step is to document compatibility differences and add characterization tests. The migration should preserve default/user override precedence, typed settings, case-sensitive names, quoting and literal percent/hash characters, lists, and named-query save/delete behavior. User comments must survive writes, as discussed in [#1162](https://github.com/dbcli/pgcli/issues/1162#issuecomment-605095240). Any intentionally unsupported syntax or changed behavior should be explicit in the proposed PR and changelog.

This is separate from #1631's service-file password fix. While that PR remains unmerged, removing ConfigObj from the main configuration parser alone does not remove its remaining service-file use; the dependency must remain until all runtime consumers are addressed.

Proposed validation: configuration compatibility cases, startup and DSN tests, named-query round trips, and the relevant existing test suite and formatting checks. The follow-up PR will state exactly what ran and any remaining validation limits.

## Your environment

This is a maintainer-requested enhancement for the current main branch, rather than a new environment-specific bug report. Pgcli currently supports Python 3.10 and newer; compatibility should be retained across the supported versions.

贡献指南

打开贡献指南

调研方向

先定位 Pgcli 的主配置解析器,并在修改解析器之前记录其当前的兼容性行为。为配置兼容性、启动和 DSN 处理以及命名查询往返添加特征测试覆盖,然后运行相关的现有测试套件和格式检查。完成的标准是保留受支持的行为和用户注释,或者在 PR 和 changelog 中记录任何有意的差异。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
cli
Issue 类型
重构
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。