#084 - Python Starter Kit for Engineers
A Full Automated Setup for Getting Started With Python For Engineering Work
The most significant barrier to leveraging computation with Python in engineering is the friction of getting started.
For a while now, I’ve been refining a process to eliminate this initial friction. This has been a nagging inconvenience for junior staff in Knight Piesold, where I work, and it has also been a common pain point for many engineers I talk to that tried Python but just gave up after the relentless roadblocks during setup.
The goal was to create a durable, repeatable, and opinionated setup that gets a Windows-based environment ready for serious engineering work, fast. The result is the Flocode Python Starter Kit, an answer to a question that shouldn’t be so hard to answer: “How do I start?”
This article deconstructs the Python for Engineers Starter Kit. We’ll walk through not just what it does but why each component is important for building a professional and efficient computational workflow.
Get Started in 5 Minutes:
Download: Go to the GitHub Repository and download the
.zipfile.Extract: Unzip the files to a folder on your machine.
Run: Right-click
flocode_python_setup.batand select “Run as administrator.”
An Engineering Workspace
A development environment is a system of interlocking parts, each with a specific function. Thinking you only need to “install Python” is like thinking you only need a cement mixer to build a skyscraper. It’s important, yes, but there are other critical components.
Our starter kit installs and configures your entire system. Let’s break it down.
Visual Studio Code: The Digital Workbench This is your Integrated Development Environment (IDE). It’s a lightweight but powerful editor where you will write, debug, and test your code. Its power comes from its extensibility, allowing us to integrate tools for linting (code quality), notebook execution, LLMs and version control directly into a single, unified workspace.
Python: The Core Programming Language This is the language itself, the raw material for building computational tools. The setup script specifically targets a stable, common version (3.10) to ensure predictability and avoid unnecessary compatibility issues that plague so many projects. At the time of writing we are at Python 3.13.7. It’s common to have multiple versions of Python on your machine, uv handles this, discussed below.
Git: The Version Control System Git tracks every change you make to your code, allowing you to revert to previous versions, collaborate with others without overwriting work, and maintain a rigorous history of your project’s evolution. For professional work, this is an absolute requirement. If you are a renegade solo coder, you might be able to manage for a while without Git, but it’s not a sustainable practice.
pip: The Package Installer This is Python’s built-in tool for installing third-party libraries. Pip is a very common tool for library installation, so I’ve included it in the setup. Frankly, however, I use uv for managing all of my packages, libraries, and environments.
uv: The Modern Dependency Manager A high-performance replacement and supplement for pip from Astral. It is incredibly fast and simplifies dependency management, a common source of headaches in Python projects. It’s an excellent tool, a huge improvement on all alternatives (Poetry, Anaconda, pip etc.),. I find it extremely useful. You can read more about it here…
Cookiecutter: The Project Templating Tool This tool creates new projects from a standardized template. Instead of starting every new project with a blank folder and manually creating files, Cookiecutter scaffolds a complete, best-practice directory structure. This enforces consistency, reduces cognitive load, and saves significant setup time. You can read more here:
How the Setup Script Works: Your Automated Assistant
The GitHub repo contains only two files, a readme.md with instructions and the setup script.
The flocode_python_setup.bat script assembles your workspace for you. It’s a sequence of deliberate, logical checks and commands designed to be run with Administrator privileges.
Here is the operational sequence:
Privilege Check: It first verifies that it has Administrator rights. Without them, it cannot install software system-wide, so it stops immediately if they are missing. This should work for you but your company admins may have certain protocols that will block the script, if so, share it with them and they can inspect and approve in accordance with your IT policies.
Prerequisite Validation: The script checks for the core components: VS Code, Python, and Git. It uses the Windows Package Manager (
winget) to find and install them if they’re absent.wingetis a modern command-line tool for installing applications, which makes the process clean and repeatable.Git Configuration: Once Git is present, it prompts you for your name and email. This is a critical step for version control, as every change you “commit” to your project history will be signed with this information.
Python Tooling Installation: With Python confirmed, it uses
pipto installuvand optionally,cookiecutter. It then intelligently checks if the location for these tools is on the systemPATHand, if not, attempts to add it for you.📢This is a crucial step that makes these tools accessible from your terminal without manual configuration.
VS Code Extension Setup: Finally, it automatically installs the essential Microsoft Python and Jupyter extensions for VS Code. These extensions provide features like IntelliSense, debugging, and interactive notebook support.
The script is designed to be re-run. On a fresh machine, you may need to run it two or three times as installations complete and system paths update.
Run it until it completes with no warnings.
The Roadmap
This starter kit is not the destination. It’s the road leading out from base camp.
The real work of solving engineering problems is your own. Here is a visual roadmap for your journey.
I will revisit this roadmap soon because there is a lot to digest.
This progression moves you from a user of tools to a builder of tools.
By starting with a robust, repeatable foundation, you can focus your intellectual energy where it matters most: on the engineering challenges themselves.
Hopefully, this helps.
See you in the next one.
James 🌊











