Development Environments

Keith VanderLinden
Calvin University

Infrastructure for ML Systems

Layers of infrastructure required to support ML systems:

  • Development Environment
  • ML Platform
  • Resource Management
  • Storage & Compute

From DMLS Figure 10-2; cf. SaaS-PaaS-IaaS.

Command-Line Interfaces

Command-Line Interfaces (CLIs) are text-based interfaces to computer systems that:

  • were an early form of user interaction with computers.
  • were largely superseded by more intuitive Graphical User Interfaces (GUIs).
  • are still heavily used for system administration and scripting.

Examples: Bash for Linux and Windows Subsystem for Linux (WSL2), PowerShell for Windows, Zsh for OSx, …

Python

  • Python is a high-level, general-purpose programming language.
  • Python virtual environments bundle the libraries required for separate tasks in separable modules.
  • The set of Python libraries for a virtual environment can be specified using requirements.txt.

Integrated Development Environments

Integrated Development Environments (IDEs) are software tools that integrate multiple development tools, including:

  • Document editing and rendering
  • Code development integration, e.g., programming, debugging, testing, …
  • File management
  • DVCS integration
  • CLI integration
  • LLM integration

Local Development Environment

See the live walkthrough.