Skip to content

Commit 2cf67a6

Browse files
fix: move revenueholdings-license to optional [license] extra with graceful import fallback
- Remove revenueholdings-license>=0.1.0 from required dependencies - Add license optional-dependencies group with revenueholdings-license - Make require_license() import conditional: try/except ImportError - On ImportError, define no-op require_license() and print warning - Fixes CI breakage caused by revenueholdings-license not on PyPI (COM-79, COM-82, COM-83)
1 parent da7ec9b commit 2cf67a6

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ dependencies = [
1515
"click>=8.1",
1616
"rich>=13.0",
1717
"pyyaml>=6.0",
18-
"revenueholdings-license>=0.1.0",
1918
]
2019

2120
[project.optional-dependencies]
2221
dev = [
2322
"pytest>=7.0",
2423
"pytest-cov>=4.0",
2524
]
25+
license = ["revenueholdings-license>=0.1.0"]
2626

2727
[project.scripts]
2828
deploydiff = "deploydiff.cli:main"

src/deploydiff/cli.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,12 @@
2020
@click.version_option(package_name="deploydiff")
2121
def main():
2222
"""DeployDiff - Preview infrastructure changes with cost impact and rollback."""
23-
from revenueholdings_license import require_license
24-
require_license("deploydiff")
23+
try:
24+
from revenueholdings_license import require_license
25+
require_license("deploydiff")
26+
except ImportError:
27+
import warnings
28+
warnings.warn("revenueholdings-license not installed; license checks skipped", stacklevel=2)
2529
pass
2630

2731

0 commit comments

Comments
 (0)