Parse a pyproject toml file, pulling out relevant parts for Black. If parsing fails, will raise a tomllib.TOMLDecodeError.
(path_config: str)
| 119 | |
| 120 | @mypyc_attr(patchable=True) |
| 121 | def parse_pyproject_toml(path_config: str) -> dict[str, Any]: |
| 122 | """Parse a pyproject toml file, pulling out relevant parts for Black. |
| 123 | |
| 124 | If parsing fails, will raise a tomllib.TOMLDecodeError. |
| 125 | """ |
| 126 | pyproject_toml = _load_toml(path_config) |
| 127 | config: dict[str, Any] = pyproject_toml.get("tool", {}).get("black", {}) |
| 128 | config = {k.replace("--", "").replace("-", "_"): v for k, v in config.items()} |
| 129 | |
| 130 | if "target_version" not in config: |
| 131 | inferred_target_version = infer_target_version(pyproject_toml) |
| 132 | if inferred_target_version is not None: |
| 133 | config["target_version"] = [v.name.lower() for v in inferred_target_version] |
| 134 | |
| 135 | return config |
| 136 | |
| 137 | |
| 138 | def infer_target_version( |
no test coverage detected