cloudconsolelink 4.2.0__tar.gz → 4.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cloudconsolelink-4.2.0/cloudconsolelink.egg-info → cloudconsolelink-4.3.0}/PKG-INFO +1 -1
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0/cloudconsolelink.egg-info}/PKG-INFO +1 -1
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/setup.py +11 -2
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_packaging.py +29 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/LICENSE +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/MANIFEST.in +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/README.md +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/aws/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/aws/errors.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/aws/links.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/azure/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/gcp/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/gcp/links.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/git/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/oci/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/oci/links.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/registry/__init__.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink.egg-info/SOURCES.txt +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink.egg-info/dependency_links.txt +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink.egg-info/requires.txt +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink.egg-info/top_level.txt +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/requirements-dev.txt +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/requirements.txt +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/setup.cfg +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_aws.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_azure.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_gcp.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_git.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_oci.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_provider_coverage.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_registry_link.py +0 -0
- {cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/tests/test_registry_parse.py +0 -0
|
@@ -25,9 +25,18 @@ def read_requirements(path: str) -> list[str]:
|
|
|
25
25
|
return lines
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
def sdist_version() -> str:
|
|
29
|
+
# An unpacked sdist carries the version it was built with in PKG-INFO. pip/uv rebuild the sdist
|
|
30
|
+
# there with no git (and git could even read an enclosing repo's tags), so this wins.
|
|
31
|
+
for line in read_text("PKG-INFO", required=False).splitlines():
|
|
32
|
+
if line.startswith("Version:"):
|
|
33
|
+
return line.removeprefix("Version:").strip()
|
|
34
|
+
return ""
|
|
35
|
+
|
|
36
|
+
|
|
28
37
|
def git_version(fallback: str) -> str:
|
|
29
38
|
# ponytail: build-time version from the current git tag; falls back to
|
|
30
|
-
# __init__.py when git/tags are absent
|
|
39
|
+
# __init__.py when git/tags are absent.
|
|
31
40
|
try:
|
|
32
41
|
tag = subprocess.check_output(
|
|
33
42
|
["git", "describe", "--tags", "--abbrev=0"],
|
|
@@ -41,7 +50,7 @@ def git_version(fallback: str) -> str:
|
|
|
41
50
|
|
|
42
51
|
package_info: dict[str, object] = {}
|
|
43
52
|
exec(read_text("cloudconsolelink/__init__.py"), package_info)
|
|
44
|
-
version = git_version(str(package_info["__version__"]))
|
|
53
|
+
version = sdist_version() or git_version(str(package_info["__version__"]))
|
|
45
54
|
long_description = read_text("README.md")
|
|
46
55
|
install_requires = read_requirements("requirements.txt")
|
|
47
56
|
dev_requirements = read_requirements("requirements-dev.txt")
|
|
@@ -25,6 +25,35 @@ def test_sdist_includes_requirement_files(tmp_path):
|
|
|
25
25
|
assert f"{archive_root}/requirements-dev.txt" in archive_names
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
def test_sdist_rebuilds_with_its_own_version(tmp_path):
|
|
29
|
+
# pip/uv install an sdist by rebuilding it from the unpacked tarball, where there is no git.
|
|
30
|
+
# Before: setup.py fell back to __init__.__version__ there (4.0.1), so installing 4.1.2 failed
|
|
31
|
+
# with "Package metadata version 4.0.1 does not match given version 4.1.2".
|
|
32
|
+
dist_dir = tmp_path / "dist"
|
|
33
|
+
subprocess.run(
|
|
34
|
+
[sys.executable, "setup.py", "sdist", "--dist-dir", str(dist_dir)],
|
|
35
|
+
cwd=REPO_ROOT,
|
|
36
|
+
check=True,
|
|
37
|
+
capture_output=True,
|
|
38
|
+
text=True,
|
|
39
|
+
)
|
|
40
|
+
archive_path = next(dist_dir.glob("cloudconsolelink-*.tar.gz"))
|
|
41
|
+
built_version = archive_path.name.removesuffix(".tar.gz").removeprefix("cloudconsolelink-")
|
|
42
|
+
unpack_dir = tmp_path / "unpacked"
|
|
43
|
+
with tarfile.open(archive_path, "r:gz") as archive:
|
|
44
|
+
archive.extractall(unpack_dir, filter="data")
|
|
45
|
+
|
|
46
|
+
rebuilt = subprocess.run(
|
|
47
|
+
[sys.executable, "setup.py", "--version"],
|
|
48
|
+
cwd=unpack_dir / archive_path.name.removesuffix(".tar.gz"),
|
|
49
|
+
check=True,
|
|
50
|
+
capture_output=True,
|
|
51
|
+
text=True,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
assert rebuilt.stdout.strip().splitlines()[-1] == built_version
|
|
55
|
+
|
|
56
|
+
|
|
28
57
|
def test_egg_info_excludes_local_bootstrap_requirement(tmp_path):
|
|
29
58
|
subprocess.run(
|
|
30
59
|
[sys.executable, "setup.py", "egg_info"],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink/clouds/registry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloudconsolelink-4.2.0 → cloudconsolelink-4.3.0}/cloudconsolelink.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|