Core Module
The core module provides essential utilities for configuration, logging, error handling, and type definitions.
Configuration
The Config class manages application configuration with environment variable support.
Usage
from electripy import Config
# Create with defaults
config = Config()
# Load from environment
config = Config.from_env()
# Access configuration
print(config.log_level) # "INFO"
print(config.config_dir) # Path to config directory
Environment Variables
ELECTRIPY_LOG_LEVEL: Logging level (default: INFO)ELECTRIPY_LOG_FORMAT: Log format (default: json)ELECTRIPY_CONFIG_DIR: Configuration directory (default: ~/.electripy)
Logging
Simple logging setup with structured output support.
Usage
from electripy import get_logger, setup_logging
# Setup logging
setup_logging(level="DEBUG", format_type="json")
# Get logger
logger = get_logger(__name__)
logger.info("Application started")
logger.error("An error occurred", exc_info=True)
Error Handling
Custom exception hierarchy for ElectriPy.
Exception Types
ElectriPyError: Base exception for all ElectriPy errorsConfigError: Configuration-related errorsValidationError: Validation failuresRetryError: Retry exhaustionRateLimitError: Rate limit exceeded
Usage
from electripy.core.errors import ValidationError
def validate_data(data):
if not data:
raise ValidationError("Data cannot be empty")
Type Utilities
Common type definitions for JSON data.