From e62593cfbc47c48c06dfb4946279f4e2c63407f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Sat, 11 Feb 2023 17:08:12 +0100 Subject: [PATCH] Support pyproject.toml without build system to detect project name --- news/84.feature | 1 + src/pip_deepfreeze/project_name.py | 3 +-- tests/test_project_name.py | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 news/84.feature diff --git a/news/84.feature b/news/84.feature new file mode 100644 index 0000000..7349f9f --- /dev/null +++ b/news/84.feature @@ -0,0 +1 @@ +Support pyproject.toml without build system to detect project name. diff --git a/src/pip_deepfreeze/project_name.py b/src/pip_deepfreeze/project_name.py index 9a6ec29..45ce221 100644 --- a/src/pip_deepfreeze/project_name.py +++ b/src/pip_deepfreeze/project_name.py @@ -94,9 +94,8 @@ def get_project_name_from_pyproject_toml_pep621( pyproject_toml: Optional[PyProjectToml], ) -> Optional[str]: log_info(".", nl=False) - if not _get_build_backend(pyproject_toml): + if not pyproject_toml: return None - assert pyproject_toml project_name = pyproject_toml.get("project", {}).get("name") if not project_name: return None diff --git a/tests/test_project_name.py b/tests/test_project_name.py index 5ca27a0..31cef90 100644 --- a/tests/test_project_name.py +++ b/tests/test_project_name.py @@ -110,6 +110,22 @@ def test_get_project_name_from_pyproject_toml_pep621_no_project(tmp_path): ) +def test_get_project_name_from_pyproject_toml_pep621_no_build_system(tmp_path): + (tmp_path / "pyproject.toml").write_text( + textwrap.dedent( + """\ + [project] + name = "theproject" + """ + ) + ) + assert ( + get_project_name_from_pyproject_toml_pep621(_load_pyproject_toml(tmp_path)) + == "theproject" + ) + assert get_project_name(sys.executable, tmp_path) == "theproject" + + def test_project_name_from_pep517_setup_py(tmp_path): setup_py = tmp_path / "setup.py" setup_py.write_text(