Skip to content

🛠️ Local Dev environment setup

I develop data science python projects in Linux OS or MAC OS. (For Windows OS I recommend WSL and run commands as Linux OS).

I setup my local development environment using the following steps:

💻 Computer setup to develop with Python

  1. Install Git
    • Linux: sudo apt-get install git
    • MAC: brew install git
  2. Install Make
    • Linux: sudo apt-get install make
    • MAC: brew install make
  3. Install Pyenv and after install set up the terminal for Pyenv - Link to set up
    • Linux: curl https://pyenv.run | bash
    • MAC: brew install pyenv
    • Check the installation version executing in terminal: pyenv --version for help go to pyenv installation help
  4. Install Python using Pyenv , at this time I am using Python 3.11
    • pyenv install 3.11 # Install Python 3.11 in computer
    • pyenv global 3.11 # Set Python 3.11 as global version
    • Check the installation version executing in terminal: python --version
  5. Install locally Pipx to Install and Run Python Applications in Isolated Environments

    • Linux:

      Install pipx in Linux
      pip install --user pipx
      python3 -m pipx ensurepath
      
      • Check the installation version executing in terminal: pipx --version
    • MAC:

      Install pipx in Mac os
      brew install pipx
      pipx ensurepath
      
      • Check the installation version executing in terminal: pipx --version

🐍 General Python tools

General Tools that I use to develop Python projects, The most important is Poetry and all this tools are installed using Pipx to have this tools in isolated environments, because applications runs in its own virtual environment to avoid dependencies conflicts and they are available everywhere.

When pipx is typically used?

  1. Poetry to manage the dependencies and the virtual environment of the project.
    • pipx install poetry
  2. Cruft allows you to maintain all the necessary boilerplate for packaging and building projects separate from the code you intentionally write. Fully compatible with existing Cookiecutter templates.
    • pipx install cruft
  3. (optional) Pip-audit to local check the security of the dependencies of the project.
    • pipx install pip-audit
  4. (optional) Actionlint to check the syntax of the GitHub Actions configuration files of the project.
    • pipx install actionlint

📁 Start a new data science project

  1. Start a new project using the Cruft with the Data Science Project Template.

    create project
    cruft create https://github.com/JoseRZapata/data-science-project-template
    
  2. Answer the questions to create the project.

  3. Run make init_env to init Git and Poetry. Or You can do the same running this commands:

    init environment
        git init -b main
        poetry install
        poetry run pre-commit install
        git add .
        git commit -m "🎉 Begin a project, Initial commit"
        poetry shell
    
  4. 🎉 Congrats Start coding your project.