summaryrefslogtreecommitdiff
path: root/src/setuptools_scm/_integration/setuptools.py
blob: 8b59bf8460be5286fcda01e899d918c649cbb5b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from __future__ import annotations

import os
from typing import IO


def read_dist_name_from_setup_cfg(
    input: str | os.PathLike[str] | IO[str] = "setup.cfg",
) -> str | None:

    # minimal effort to read dist_name off setup.cfg metadata
    import configparser

    parser = configparser.ConfigParser()

    if isinstance(input, (os.PathLike, str)):
        parser.read([input], encoding='utf-8')
    else:
        parser.read_file(input)

    dist_name = parser.get("metadata", "name", fallback=None)
    return dist_name