1616
1717from packaging .version import Version
1818
19- import setuptools_scm ._integration .setuptools
20-
19+ from setuptools_scm ._integration import setuptools as setuptools_integration
2120from setuptools_scm ._requirement_cls import extract_package_name
2221
2322if TYPE_CHECKING :
@@ -645,7 +644,9 @@ def test_unicode_in_setup_cfg(tmp_path: Path) -> None:
645644 ),
646645 encoding = "utf-8" ,
647646 )
648- name = setuptools_scm ._integration .setup_cfg .read_dist_name_from_setup_cfg (cfg )
647+ from setuptools_scm ._integration .setup_cfg import read_dist_name_from_setup_cfg
648+
649+ name = read_dist_name_from_setup_cfg (cfg )
649650 assert name == "configparser"
650651
651652
@@ -657,10 +658,10 @@ def test_setuptools_version_keyword_ensures_regex(
657658 wd ("git tag 1.0" )
658659 monkeypatch .chdir (wd .cwd )
659660
660- from setuptools_scm ._integration .setuptools import version_keyword
661-
662661 dist = create_clean_distribution ("test" )
663- version_keyword (dist , "use_scm_version" , {"tag_regex" : "(1.0)" })
662+ setuptools_integration .version_keyword (
663+ dist , "use_scm_version" , {"tag_regex" : "(1.0)" }
664+ )
664665 assert dist .metadata .version == "1.0"
665666
666667
@@ -938,43 +939,32 @@ def create_clean_distribution(name: str) -> setuptools.Distribution:
938939 return dist
939940
940941
941- # Helper functions for testing integration point ordering
942- def integration_infer_version (dist : setuptools .Distribution ) -> str :
943- """Helper to call infer_version and return the result."""
944- from setuptools_scm ._integration .setuptools import infer_version
945-
946- infer_version (dist )
947- return "infer_version"
948-
949-
950- def integration_version_keyword_default (dist : setuptools .Distribution ) -> str :
942+ def version_keyword_default (dist : setuptools .Distribution ) -> None :
951943 """Helper to call version_keyword with default config and return the result."""
952- from setuptools_scm ._integration .setuptools import version_keyword
953944
954- version_keyword (dist , "use_scm_version" , True )
955- return "version_keyword_default"
945+ setuptools_integration .version_keyword (dist , "use_scm_version" , True )
956946
957947
958- def integration_version_keyword_calver (dist : setuptools .Distribution ) -> str :
948+ def version_keyword_calver (dist : setuptools .Distribution ) -> None :
959949 """Helper to call version_keyword with calver-by-date scheme and return the result."""
960- from setuptools_scm ._integration .setuptools import version_keyword
961950
962- version_keyword (dist , "use_scm_version" , {"version_scheme" : "calver-by-date" })
963- return "version_keyword_calver"
951+ setuptools_integration .version_keyword (
952+ dist , "use_scm_version" , {"version_scheme" : "calver-by-date" }
953+ )
964954
965955
966956# Test cases: (first_func, second_func, expected_final_version)
967957# We use a controlled date to make calver deterministic
968958TEST_CASES = [
969959 # Real-world scenarios: infer_version and version_keyword can be called in either order
970- (integration_infer_version , integration_version_keyword_default , "1.0.1.dev1" ),
960+ (setuptools_integration . infer_version , version_keyword_default , "1.0.1.dev1" ),
971961 (
972- integration_infer_version ,
973- integration_version_keyword_calver ,
962+ setuptools_integration . infer_version ,
963+ version_keyword_calver ,
974964 "9.2.13.0.dev1" ,
975965 ), # calver should win but doesn't
976- (integration_version_keyword_default , integration_infer_version , "1.0.1.dev1" ),
977- (integration_version_keyword_calver , integration_infer_version , "9.2.13.0.dev1" ),
966+ (version_keyword_default , setuptools_integration . infer_version , "1.0.1.dev1" ),
967+ (version_keyword_calver , setuptools_integration . infer_version , "9.2.13.0.dev1" ),
978968]
979969
980970
@@ -1010,31 +1000,24 @@ def test_integration_function_call_order(
10101000 wd .commit_testfile ("test2" ) # Add another commit to get distance
10111001 monkeypatch .chdir (wd .cwd )
10121002
1013- # Generate unique distribution name based on the test combination
1014- first_name = first_integration .__name__ .replace ("integration_" , "" )
1015- second_name = second_integration .__name__ .replace ("integration_" , "" )
1016- dist_name = f"test-pkg-{ first_name } -then-{ second_name } "
1017-
10181003 # Create a pyproject.toml file
10191004 pyproject_content = f"""
10201005[build-system]
10211006requires = ["setuptools", "setuptools_scm"]
10221007build-backend = "setuptools.build_meta"
10231008
10241009[project]
1025- name = "{ dist_name } "
1010+ name = "test-pkg- { first_integration . __name__ } - { second_integration . __name__ } "
10261011dynamic = ["version"]
10271012
10281013[tool.setuptools_scm]
10291014local_scheme = "no-local-version"
10301015"""
10311016 wd .write ("pyproject.toml" , pyproject_content )
10321017
1033- import setuptools
1034-
1035- # Create distribution and clear any auto-set version
1036- dist = setuptools .Distribution ({"name" : dist_name })
1037- dist .metadata .version = None
1018+ dist = create_clean_distribution (
1019+ f"test-pkg-{ first_integration .__name__ } -{ second_integration .__name__ } "
1020+ )
10381021
10391022 # Call both integration functions in order
10401023 first_integration (dist )
0 commit comments