Skip to content

Commit 1d7cb22

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 8649060 commit 1d7cb22

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ classifiers = [
2626
dependencies = [
2727
"click>=8.1.0",
2828
"rich>=13.0.0",
29-
"revenueholdings-license>=0.1.0",
3029
"pathspec>=0.11.0",
3130
"pyyaml>=6.0",
3231
]
@@ -36,6 +35,7 @@ dev = [
3635
"pytest>=7.0.0",
3736
"pytest-cov>=4.0.0",
3837
]
38+
license = ["revenueholdings-license>=0.1.0"]
3939

4040
[project.scripts]
4141
deadcode = "deadcode.cli:cli"

src/deadcode/cli.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@
1010
import click
1111
from rich.console import Console
1212
from rich.table import Table
13-
from revenueholdings_license import require_license
13+
try:
14+
from revenueholdings_license import require_license
15+
except ImportError:
16+
import warnings
17+
warnings.warn("revenueholdings-license not installed; license checks skipped", stacklevel=2)
18+
def require_license(product: str) -> None: # type: ignore[misc]
19+
pass
1420

1521
from . import __version__
1622
from .config import DeadCodeConfig

0 commit comments

Comments
 (0)