Create command groups, flags, and more

Python logo next to a command
Python logo next to a command
Photo by the author.

Today, we will be creating a simple CLI (command-line interface) that is built in Python. More specifically, we will be using a popular Python package called click that allows us to accelerate this process. What is a CLI? It’s a tool that does something inside your terminal. The possibilities are limitless with CLI tools.

click has a lot of features baked in, so I will only be going over basic features to get you started. If you are interested in delving into the more complex features that click has to offer, check out the documentation.

1. Installing click

This tutorial assumes that you…


Image for post
Image for post
Photo by Avi Richards on Unsplash

I started Medium with three clear goals in mind. The first being able to teach others about what I know within the software engineering space. The second is to become a better writer. And finally, the last goal, to make extra cash on the side with the goal of it becoming a profitable side hustle. I tried to post once a week as opposed to some other writers on Medium that post more frequently.

I will be going over each month in more detail, highlighting the stats as well as my thoughts for each month. For those of you here…


Starting the year off right with some simple projects to get that ball rolling

Image for post
Image for post
Photo by Safar Safarov on Unsplash

The beginning of a new year is always a great time to set goals. Hopefully becoming a better developer or even to start programming is on that list of goals. If it is, then I hope this list of small projects can help get that ball rolling.

These projects are meant to be fairly simple so that you actually finish a project. You don’t want to start the new year with a project so grand that you cannot finish it.

1. Web Scraper

Web scraping is one of those tools that you always want to have in the back of your pocket. It’s…


Staying interested in your side projects can be hard with so many other things going on in life

Man staring off into the distance at sunset.
Man staring off into the distance at sunset.
Photo by photo-nic.co.uk nic on Unsplash.

I find that the most challenging part of a side project is not coming up with an idea but taking that idea to a finished product.

In this article, I’m going to go over a few strategies I’ve implemented to help keep me motivated on my side projects.

1. Define the MVP

This is my most important rule when it comes to staying motivated on side projects: the MVP. MVP stands for Minimum Viable Product. It is the minimum amount of features required to achieve functionality so that users can use it.


Image for post
Image for post
Photo by Fotis Fotopoulos on Unsplash

The complete source code can be found on GitHub.

In the current era of programming, tools are being developed from developers all over the world that are not included in the programming language’s standard library. Python is no exception. Since developers are creating new packages every day for Python, it only makes sense for the community to standardize package dependencies so that developers can continue to focus on the development of their software as opposed to worrying about the dependency management of their project.

Introducing Python virtual environments. Virtual environments allow Python developers to keep all the dependencies packaged up…


Share your packages with the world

Image for post
Image for post
Photo by the author.

Note: The complete source code can be found on GitHub.

If you work with Python, then you are probably aware of packages that you can download and import into your projects using pip. It’s a robust tool that allows developers from all around the world to upload their code so that others can use it.

In today’s article, I will be showing you how to publish your Python package to the service PyPi, which is the Python Package Index. …


Image for post
Image for post
Photo by ian dooley on Unsplash

Productivity tools are all around us on a day to day basis and are an important part of our lives. Finding the correct tools can be difficult, but once you are familiar with a set of tools that work for you, it works wonders. I use all of these tools on a daily basis and they help me get what I need to get done with plenty of time left over for my leisure activities.

The tools and applications that I will be talking about in this article are not sponsored in any way.


We all experience it from time to time. Here’s what worked for me

Image for post
Image for post
Photo by Tegan Mierle on Unsplash.

Imposter syndrome is a very common occurrence that happens to all of us — some more than others. Although it’s not specific to the world of software engineering or programming, it tends to happen a lot within this field since it is a very competitive industry.

New technologies keep coming so quickly that we feel like we’ll fall behind if we don’t learn them right away, or we feel that our peers and colleagues know everything while we sit idly at our desks contemplating how we got hired in the first place.

Trust me, I’ve been there, and I’m willing…


Image for post
Image for post
Image made by the author.

Complete source code can be found here: https://github.com/ericjaychi/sample-rest-api

Before we go into building the actual application, we need to take a quick step back to understand at a very high level what a REST API is. Ironically, REST APIs are not something new. It has been around since the year 2000 but has been very popular recently with the rise of JavaScript libraries. If you are curious about all the specific details, I’ll let you go ahead and read about it on Google as I am not trying to bore you with all these crazy details.

At a very high…


Some familiar tools and some you probably haven’t tried yet

Image for post
Image for post
Photo by Maxwell Nelson on Unsplash.

The terminal/command line is a sacred tool that developers have under their belt. It is possibly the most used tool for programmers. I believe that is because of how lightweight it is and also the unbelievable amount of things you can do with it. Some developers even go the extra mile to do everything inside of the terminal. Kudos to them.

I’ll be showing some of the CLI (Command-Line Interface) tools that I personally think are awesome and use pretty much on a daily basis. …

Senior Software Engineer Consultant at Liferay. Passion for learning, teaching, and creating cool software tools for others to enjoy.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store