A paraphrasing of Gerald Jay Sussman's explanation for MIT's switch from Scheme to Python in its undergraduate computer science program, focusing on the changing nature of programming and the need to adapt to modern systems and libraries.
A list of Python libraries that helped the author improve their automation scripts and turn duct-tape code into something trustworthy.
* **pathlib:** Simplifies file path manipulation, making it cross-platform compatible and more readable.
* **tenacity:** Provides a decorator for automatically retrying failed operations (like API calls) with configurable settings.
* **rich:** Enhances logging with features like progress bars, colored output, and detailed tracebacks for better observability.
* **schedule:** A more readable alternative to cron for scheduling tasks in Python.
* **pydantic:** Enforces data validation, ensuring inputs conform to expected types and structures.
* **python-dotenv:** Manages environment variables, keeping sensitive information (like API keys) separate from code.
* **loguru:** A streamlined logging library that requires minimal configuration.
* **watchdog:** Monitors filesystem changes and triggers actions based on those changes (event-driven automation).
* **typer:** Creates command-line interfaces (CLIs) for Python scripts, making them more user-friendly as tools.