Source code for deepcausalmmm.cli

"""
Command-line interface for DeepCausalMMM.

This module provides a CLI for training and using the model.
"""

import argparse
import json
import sys
from deepcausalmmm.core.config import get_default_config


[docs] def main(): """Main CLI entry point.""" parser = argparse.ArgumentParser( description="DeepCausalMMM: Deep Learning Marketing Mix Model with Causal Structure", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=""" Examples: # Show configuration deepcausalmmm config # Show version deepcausalmmm version # For training and analysis, use the Python API: # from deepcausalmmm import DeepCausalMMM, ModelTrainer """ ) subparsers = parser.add_subparsers(dest='command', help='Available commands') # Config command config_parser = subparsers.add_parser('config', help='Show default configuration') # Version command version_parser = subparsers.add_parser('version', help='Show package version') args = parser.parse_args() if not args.command: parser.print_help() sys.exit(1) try: if args.command == 'config': config_command(args) elif args.command == 'version': version_command(args) except Exception as e: print(f"Error: {e}") sys.exit(1)
[docs] def config_command(args): """ Show default configuration. Parameters ---------- args : argparse.Namespace Parsed command line arguments from argparse """ config = get_default_config() print("DeepCausalMMM Default Configuration:") print("=" * 40) print(json.dumps(config, indent=2))
[docs] def version_command(args): """ Show package version. Parameters ---------- args : argparse.Namespace Parsed command line arguments from argparse """ try: from deepcausalmmm import __version__ print(f"DeepCausalMMM version {__version__}") except ImportError: print("DeepCausalMMM version 1.0.0")
if __name__ == "__main__": main()