Replaced all print statements with appropriate logging levels (info, warning, debug) to improve maintainability and allow for better log management. Added module-level logger configuration for consistent logging across the application.
Add .gitignore file with rules for Python, IDE, test files, build artifacts, virtual environments, OS generated files, editor backups, test coverage, Python tooling, Jupyter, and RSA keypairs to improve repository cleanliness and prevent unwanted files from being committed.