Repository contains a collection of tools for ML, AI, and Algorithmic Trading development platform. It includes useful scripts and configurations to help set up a productive development environment. The goal of this repo is to bootstrap ML/AI and algo trading platform development by providing the basic building blocks needed.
As a data scientist and WSL Ubuntu user, I want an automation script to simplify the installation and configuration of CUDA drivers on my system. The script should also provide the flexibility to switch between different CUDA drivers and manage associated dependencies effortlessly.
Acceptance Criteria:
Installation of CUDA Drivers: The automation script should be able to install the latest version of CUDA drivers compatible with WSL Ubuntu. `It should check for existing installations and handle updates or reinstallation without manual intervention.
Environment Variable Configuration: The script should automatically configure essential environment variables required for CUDA to function properly. Users should have the option to customize environment variables if needed during the script execution.
Switching between CUDA Drivers: Users should be able to switch between different versions of CUDA drivers using the automation script. The script should handle the necessary steps to uninstall the current CUDA driver version, install the new version, and update environment variables accordingly.
Dependency Management: The automation script should manage dependencies associated with each CUDA driver version.
Users should not be required to manually install or uninstall dependencies when switching between CUDA drivers.
Error Handling: The script should provide clear error messages and guidance in case of installation or configuration failures.
It should handle unexpected scenarios gracefully and roll back changes to maintain system stability.
Logging and Reporting: The script should generate logs to track installation and configuration activities.
Users should be able to review logs to identify any issues or to understand the changes made by the script.
Compatibility: The automation script should be compatible with the latest WSL Ubuntu versions.
It should check for system requirements and provide informative messages if the system does not meet the necessary criteria.
Documentation: Provide clear documentation explaining how to use the script, including command-line options, customization parameters, and examples. Include information about potential risks and precautions.
Definition of Done:
The automation script has been tested on different WSL Ubuntu environments.
All acceptance criteria have been met.
Documentation is complete and accessible.
The script has been reviewed and approved by relevant stakeholders.
As a Python developer, I want to create a bash script that installs pyenv and provides commands for managing Python versions, so that I can easily install, set, and switch between multiple Python versions on a development machine.
Acceptance Criteria:
The script should install pyenv and add the necessary path configurations
It should provide commands for listing available Python versions, installing a version, setting the global version, and switching local versions
The install command should take a Python version number as an argument and install that version using pyenv
The use command should take a version number and set that as the local Python version for the current directory
The global command should set the given version number as the global Python version
The script should be configurable by setting environment variables for the pyenv root directory and Python build settings
It should provide help documentation when run with the -h flag explaining the usage of all commands
The script should work consistently on Linux and macOS environments
As a Windows developer,
I want to easily configure my machine for Linux development with WSL 2
So that I can install and run Ubuntu from the Windows Store for building applications.
Acceptance Criteria:
Script checks if required Windows features for WSL 2 are enabled, and enables them if not
Enables virtual machine platform
Sets WSL 2 as the default version
Checks if Ubuntu is already installed
Prompts user to confirm Ubuntu installation
Installs Ubuntu Linux distribution from Windows Store
Provides user-friendly confirmation messages at each step
Allows user to exit script without making changes
This script automates all the necessary setup steps to take a Windows box and transform it into a WSL 2 development environment with Ubuntu. By handling feature configuration and Linux distro installation, it enables developers to quickly start building applications on Ubuntu/WSL without manual effort. The prompts and messages improve user awareness of what the script is configuring behind the scenes. Overall, it reduces the friction for Windows devs to leverage Linux tools and ecosystem.