intermediate Python • comfortable using modules, package management, and a unit test framework • have developed software using source control, automated testing, and a continuous integration service
skills learned
implementing an extensible CLI tool • translating business requirements into Integration Tests using the Behave framework • real-world software engineering practices for building a high-quality and maintainable software project
David Knepprath
4 weeks · 7-10 hours per week · INTERMEDIATE
In this liveProject, you’ll take on the challenge of designing and building a custom CLI using Python. Command line interface tools automate repetitive tasks and help streamline software development. Companies that use bespoke CLIs can easily manage change, smooth friction between teams, and reduce time spent on red tape.
You’ll join up with KlickBrick, a toy company whose digital expansion is grinding to a halt under mismanagement, and create a CLI framework that helps bring development teams together. You’ll need to assemble the infrastructure for your CLI, then develop functionality for onboarding employees, initializing new software project repositories, and reporting CLI usage metrics to a server.
This project is designed for learning purposes and is not a complete, production-ready application or solution.
liveProject mentor Michel Rutka shares what he likes about the Manning liveProject platform.
project
$49.99
$39.99
you save $10.00 (20%)
with subscription
$24.99
project author
David Knepprath
David Knepprath is a Senior Software Engineer at Nike, working on Nike's global data privacy vision. He has previously worked with everything from desktop applications to serverless backend development across all sizes of companies. He has seen first-hand the transformative impact of investing in CLI tools to reduce an organization’s unique points of friction.
prerequisites
This liveProject is for the intermediate Python programmer interested in expanding their software engineering skills. To begin this liveProject you will need to be familiar with:
TOOLS
Basic Python language syntax, using modules, and package management
Unit test frameworks, such as unittest
Integration test frameworks, such as Behave
Package repository services, such as PyPI
Git and repository hosting services, like GitHub
Continuous Integration services, such as TravisCI
Hands-on experience with multi-command CLIs, such as git, aws-cli, pip, or homebrew
TECHNIQUES
Behavior Driven Development, familiar translating general business requirements into user scenarios
Best Practices for maintaining an open/inner-source project, such as documentation and using a linter and formatter
Automated testing methodologies, familiar with the difference between unit and integration testing
CI/CD philosophy, best practices for testing, building, and publishing software
features
Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.
related titles
related titles
choose your plan
pro
monthly
annual
$24.99
$249.99
only $20.83 per month
access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
choose another free product every time you renew
choose twelve free products per year
exclusive 50% discount on all purchases
Build an Extensible CLI with Python project for free
team
monthly
annual
$49.99
$499.99
only $41.67 per month
five seats for your team
access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
choose another free product every time you renew
choose twelve free products per year
exclusive 50% discount on all purchases
Build an Extensible CLI with Python project for free