In this free Upskill Challenge, you will embark on a journey to create your first Python CLI App! To make life easier, we’ll be using Python Fire, an easy-to-use framework that makes it easy to convert almost any Python code into a command-line application. We will focus primarily on Fire’s features and how to think about building any custom Python CLI Apps that might be beneficial to your daily workflow as a security professional. The content will highlight the Input, Processing, Output or IPO concept in computer science to lay out how we want our applications to function.
Price = FREE!
Goals for Python CLI Apps
- Define what is a Command Line Application
- Explain Input, Processing, Output (IPO Model for CLI Apps)
- Build your first Python Fire-powered CLI app (yep, by the end of this challenge, you’ll have a working tool you can actually use 🚀)
What’s an Upskill Challenge (UC)?
A UC is a CTF-style, bite-sized lesson from the JHT Team, our courseware developers as well as “friends” of JHT. They are meant to be short and to the point. UCs focus on a single tool or concept and are helpful in quickly providing useful skills that might be prerequisites for other types of educational content on the platform.
A UC should be 10 – 30 minutes of student time and have no VMs. There are quizzes to make sure that the content is understood.
Prerequisites for UC – Python CLI Apps
UCs assume no knowledge at all! They’re meant to be completely self-contained, so all of the answers are in the lesson. No outside research is required.
Brandon S. Keath is a Senior Security Engineer at Therap Services, where he leads initiatives in penetration testing, security engineering, and threat modeling. With over 17 years in IT and more than 14 years in cybersecurity, his expertise spans red teaming, blue teaming, and security leadership across healthcare, finance, government, and education sectors. Before moving fully into cybersecurity, Brandon built his foundation as a developer. With a strong programming background and a Bachelor’s degree in Information Technology Applications Development, he has experience designing and building applications as well as securing them. This dual perspective continues to shape his approach to both engineering and teaching. Since 2016, Brandon has been teaching cybersecurity in various settings and has spent the last seven years instructing at the university level. He currently serves as the Program Lead for the Cybersecurity Operations and Management (CYOM) program at Harrisburg University of Science and Technology. While his university work is part-time, it reflects a deep commitment to making cybersecurity education practical, engaging, and industry-aligned. Beyond higher education, Brandon has also worked with educational startups including HackerU, Evolve Security Academy, and Rapid Ascent. In these roles, he helped design and scale modern training programs that have reached learners worldwide, further solidifying his reputation as a builder of impactful learning experiences. An active community voice, Brandon frequently speaks at conferences such as BSides and regional summits, where he focuses on bridging the gap between technical expertise and accessible education. His approach combines hands-on cybersecurity knowledge with instructional design strategies to prepare learners for real-world challenges.
Brandon holds a Bachelor’s degree in Information Technology Applications Development, three master’s degrees — in Cybersecurity and Information Assurance, Instructional Design, and IT Management — and is currently pursuing a fourth in Computer Science with a specialization in Artificial Intelligence and Machine Learning.