Build an Extensible CLI with Python you own this product

prerequisites
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

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside
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 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.

choose your plan

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