As someone who loves experimenting with Python libraries and APIs, starting new projects quickly is important. Setting up these projects can sometimes be time-consuming, and a bit annoying to be honest.
Wrote this shell script to automate the process and start coding quickly. Here's what it does -
Prompts the user to provide a project name as a command-line argument, and throws an error message and usage instructions if the project name argument is missing.
Creates a new project directory with the specified name.
Sets up a virtual environment within the project directory.
Installs required Python dependencies using pip or a preferred package manager.
Creates sub-directories for source code, tests, and documentation.
Initializes a Git repository for version control.
Opens the main.py file in Visual Studio Code in a new window.
Setting up the script
# Check if project name argument is provided if [ $# -eq 0 ]; then echo "Error: Please provide a project name." echo "Usage: ./start_python_project.sh <project_name>" exit 1 fi # Get project name as a command-line argument project_name=$1 # Create project directory mkdir $project_name cd $project_name # Initialize virtual environment virtualenv -p python3 venv source venv/bin/activate # Install dependencies (e.g., requests and numpy) # pip install numpy # Create project structure mkdir src tests docs # Create main script touch src/main.py # Create requirements.txt file touch requirements.txt # Create README.md file touch README.md # Initialize version control (Git) git init # Open main.py in Visual Studio Code in a new window code --new-window src/main.py echo "Project setup complete. Happy coding!"
Make the Script Executable
chmod +x start_python_project.sh
Run the Script
[Optional] Create an alias
Open your shell's configuration file (e.g.,
.bash_profile) using a text editor,
nano ~/.bashrc #or if you're using zsh nano ~/.zshrc
Add the following line at the end of the file, replacing
/path/to/start_python_project.shwith the actual path to your shell script:
Using the script to create a new project
In the terminal, you can now start a new Python project by running the following command, replacing
my_project with your desired project name:
newproject <project name>