In this week’s pull request, I am happy to report that I’ve met another one of my goals, which was to work on a Python-based project.
Seeing as I’ve had no prior experience coding in Python, I decided to attempt a small coding problem.
To effectively contribute to a project, you need to learn the syntax and rules of the languages involved. Some of my time spent this past reading week was learning how to code in python.
If you’re new to Python, I definitely recommend this tutorial on YouTube by Mosh. It’s only about 2 hrs in length, but Mosh really explains how to do things really well.
The Project: UVic AERO Onboard Computer
I worked on this project. The purpose of this project is to provide functionality and interfacing with remote vehicles.
Establishing the Development Environment
To work on a Python project, you need have Python Shell running on your machine. If you have a Mac, an earlier version (2.7) is already installed, but present development recommends using 3.7. It is available from the Python Website.
Afterwards, I forked this repository and cloned it to my machine.
To start working on it, I needed to create a Python3 virtual environment. I used the command, python3 -m venv env. A virtual environment will create a folder that has all the necessary executables to use the packages a Python project would need. The virtual environment the needed to be activated, and I then installed python requirements.
Node.js applications use npm to install packages. Python projects uses pip, the Python Package Installer. It was interesting to use a different technology, as I’ve only been introduced to npm and Node.
I worked on this issue, which was to create a server socket in the program for clients to fix to. I chose this review, since last semester we took btn415, where we were introduced to sockets. I thought this would be a good review of the material. The link to my pull request is here.
Alright, that’s all for this week!