-
Notifications
You must be signed in to change notification settings - Fork 67
Open
Description
Summary
The package currently installs all components (core, MCP server, class-generator) together. Users should be able to install only the components they need.
Proposed Installation Options
| Installation | Command | Components |
|---|---|---|
| Core only | pip install openshift-python-wrapper |
ocp_resources, fake_kubernetes_client |
| Core + MCP | pip install openshift-python-wrapper[mcp] |
Core + mcp_server |
| Core + Class Generator | pip install openshift-python-wrapper[class-generator] |
Core + class_generator |
| All components | pip install openshift-python-wrapper[all] |
Core + MCP + Class Generator |
Dependency Analysis
Core dependencies (required for ocp_resources):
jsonschemakubernetespackagingpython-benedictpython-simple-loggerrequeststimeout-samplerxmltodict
Class-generator specific (NOT used by core):
cloup- CLI frameworkcolorlog- Colored loggingdeepdiff- Diff comparisonsjinja2- Template renderingpyhelper-utils- Shell command utilitiesrich- Rich console outputruff- Code formatting for generated files
MCP specific:
fastmcp- MCP server framework
Implementation
[project.optional-dependencies]
class-generator = [
"cloup>=3.0.5",
"colorlog>=6.8.2",
"deepdiff>=8.0.1",
"jinja2>=3.1.4",
"pyhelper-utils>=0.0.42",
"rich>=13.9.2",
"ruff>=0.6.9",
]
mcp = [
"fastmcp>=2.10.4",
]
all = [
"openshift-python-wrapper[mcp,class-generator]",
]Benefits
- Smaller default install - Core package goes from 16 dependencies to 8
- Flexibility - Install only what you need
- Reduced dependency conflicts - Fewer dependencies = fewer potential conflicts
Tasks
- Move class-generator dependencies to
[class-generator]extra - Move
fastmcpto[mcp]extra - Update
[tool.hatch.build.targets.wheel]to conditionally include packages - Update documentation with new installation options
- Update README with installation variants
Metadata
Metadata
Assignees
Labels
No labels