Open Source Contribution - Release 0.3 Part 1
Working on Open-Source with Classmates
For this release of open-source contributions I will be working with a few of my classmates from Seneca college to develop our own open-source project on Github. One of the classmates, Alex Kong, already started working on a project called pySearch. He shared this project with our class and a few students, including me, decided to expand and contribute to this project.
Link to the project:
This project is written in Python and is essentially a cross platform command-line utility tool to search through and display results from Amazon, Google, StackOverflow, and etc. The idea is to search type in search commands in command line and get results from the previously listed websites.
Why did I choose this project?
When me and my classmates were coming up with ideas for projects, I came up with an idea for an improved "diff" tool. This tool would compare two texts and display more advanced differences between these texts, not just the traditional line-oriented tools that show differences between each line of the text. One of the things that this advanced "diff" tool would do is show which words exist in both texts and which don't exist. This functionality was much needed when I was working on the Pandas project. I sorted the imports in many files with the isort library, however I noticed that a couple of times isort removed an import. Therefore, I needed to check and ensure that all imports are still there. However, doing this manually was hard because there are so many imports and when looking for a tool that would do this for me automatically, I realized that current "diff" tools are useless because by sorting the imports, the lines changed but the content was the same. This was an inspiration behind this project and I pitched it to my classmates. However, not many people were interested in working on this, so I went with my second choice, which is pySearch.
I work with command line very often now and I thought that it would be cool if I can perform search operations and view results there while working on something else, without the need to go to my browser and search for it. In addition, I'm currently working with Python and it's a language that I'm comfortable with, so this project being written in Python is a bonus and will help me further expand my expertise in this language.
The project is rather small at the moment, so my first step was to play around with existing code and figure out what it does and how it works. After becoming familiar with the project, I noticed that the creator already created some issues that can be worked on. I chose my first issue for this project and will be working on a fix throughout this week.
I will need to create a ping function to verify url validity. This is important so pySearch does not open links that are not valid. The program should give the user an error message, stating that the built link is invalid. After this, it should try different popular domain extensions to see if they will work. If something is found, inform the user of the found domain and open the link in the browser.
Link to the issue:
Throughout this release my main focus is to experience working on open-source as a team and make sure that through back-and-fourth interaction between each other, we can greatly improve the functionalities of pySearch. In addition, I will also be attempting to find some harder issues or bugs in the Pandas project to give myself a challenge and see if I can manage to raise my skill level as an open-source developer.