EdX

Python and Rust with Linux Command Line Tools (edX)

Python and Rust with Linux Command Line Tools (edX)

Applied command line tool automation with Python and Rust for efficient task management.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Build powerful automation utilities for the terminal with Python and Rust

  • Learn to build efficient, reliable command-line utilities
  • Gain skills for automating tasks in data/systems engineering
  • No prior Python/Rust knowledge required, but programming basics recommended
  • Understand best practices for CLI tool development and distribution

This course teaches you how to implement automation and utilities via the command-line interface (CLI) using Python and Rust. Designed for beginners and those with some programming experience.

  • Step-by-step tutorials cover core concepts like parsing CLI args, creating subcommands, generating reports, and more
  • Write high-performance Rust code for CPU/memory-intensive tasks
  • Leverage Python's rich libraries for file I/O, HTTP requests, and data manipulation
  • Learn techniques for distributing your CLI tools via PyPI and crates.io
  • Best practices for designing intuitive, user-friendly command-line interfaces

By completing this course, you'll gain a solid foundation in Python and Rust to develop sophisticated, powerful command-line tools for automating workflows across various domains.
This course is part of the Rust Programming Professional Certificate.

What you'll learn

  • Build powerful command line tools in Rust and Python
  • Use Python with Rust for building powerful tools
  • Package and distribute your tools

Syllabus

Module 1:
\- 25 videos (Total 173 minutes)
\- Meet your instructor: Alfredo Deza (Video, 1 minute, Preview module)
\- Meet your instructor: Noah Gift (Video, 0 minutes)
\- About this course (Video, 1 minute)
\- Introduction (Video, 1 minute)
\- Setting up your development environment for Command-line tool development (Video, 7 minutes)
\- Your first Command-line tool in Python (Video, 12 minutes)
\- Working with user input: arguments and options (Video, 12 minutes)
\- Expanding your tool's functionality with modules and libraries (Video, 8 minutes)
\- Managing output: logging, errors, and exceptions (Video, 10 minutes)
\- Optimizing your Command-line tools: performance and best practices (Video, 8 minutes)
\- Introduction (Video, 1 minute)
\- Setting up your development environment for Command-line development (Video, 11 minutes)
\- Your first Command-line tool in Rust (Video, 12 minutes)
\- Working with user input: arguments and options (Video, 9 minutes)
\- Expanding your tool's functionality with modules and libraries (Video, 7 minutes)
\- Managing output: logging, errors, and panics (Video, 11 minutes)
\- Optimizing your Command-line tools: Performance and best practices (Video, 9 minutes)
\- Introduction (Video, 1 minute)
\- Organizing your project with modules and packages in Python (Video, 12 minutes)
\- Working with dependencies and libraries in Python (Video, 7 minutes)
\- The Python Package Index (Video, 4 minutes)
\- Creating and using modules in Rust (Video, 4 minutes)
\- Advanced module usage in Rust (Video, 3 minutes)
\- Working with dependencies and libraries in Rust (Video, 5 minutes)
\- Using crates.io for Rust (Video, 4 minutes)
\- 12 readings (Total 120 minutes)
\- Course structure and discussion etiquette (Reading, 10 minutes)
\- A basic Python CLI example (Reading, 10 minutes)
\- External lab: build a basic Python CLI (Reading, 10 minutes)
\- Introduction to the Click framework (Reading, 10 minutes)
\- Introduction to building a Rust CLI (Reading, 10 minutes)
\- External lab: Setup your environment (Reading, 10 minutes)
\- External lab: build a basic Rust CLI (Reading, 10 minutes)
\- External lab: Create a Python Package Index account (Reading, 10 minutes)
\- The Python Packaging Index (Reading, 10 minutes)
\- Explore modules, packages, and third-party Rust crates (Reading, 10 minutes)
\- External lab: update a Rust CLI to use modules (Reading, 10 minutes)
\- End of week reflections (Reading, 10 minutes)
\- 1 quiz (Total 30 minutes)
\- CLI basics Quiz (Quiz, 30 minutes)
\- 1 discussion prompt (Total 10 minutes)
\- Meet and greet (optional) (Discussion prompt, 10 minutes)
\- 1 ungraded lab (Total 60 minutes)
\- Simple Command-line tool in Python (Ungraded lab, 60 minutes)

Module 2: Advanced Command-line tool development
\- 21 videos (Total 136 minutes)
\- 13 readings (Total 130 minutes)
\- 1 quiz (Total 30 minutes)

Module 3: Using Rust with Python
\- 21 videos (Total 91 minutes)
\- 9 readings (Total 90 minutes)
\- 1 quiz (Total 30 minutes)

Module 4: Rust AWS Lambda
\- 21 videos (Total 88 minutes)
\- 14 readings (Total 140 minutes)
\- 1 quiz (Total 30 minutes)
\- 1 ungraded lab (Total 60 minutes)

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Using Python for Research (edX) EdX
HarvardX,Harvard University

Using Python for Research (edX)

Take your introductory knowledge of Python programming to the next level and learn how to use Python 3 for your research. This course bridges the gap between introductory and advanced courses in Python. While there are many excellent introductory Python courses available, most typically do not go deep enough for you to apply your Python skills to research projects.

Self Paced
Self-Paced
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
Introduction to Linux (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to Linux (edX)

Never learned Linux? Want a refresh? Develop a good working knowledge of Linux using both the graphical interface and command line across the major Linux distribution families. Develop a good working knowledge of Linux using both the graphical interface and command line, covering the major Linux distribution families.

Self Paced
Self-Paced
Python for Data Science (edX) EdX
University of California, San Diego,UC San DiegoX

Python for Data Science (edX)

Learn to use powerful, open-source, Python tools, including Pandas, Git and Matplotlib, to manipulate, analyze, and visualize complex datasets. In the information age, data is all around us. Within this data are answers to compelling questions across many societal domains (politics, business, science, etc.). But if you had access to a large dataset, would you be able to find the answers you seek?

Self Paced
Self-Paced
Fundamentals of Red Hat Enterprise Linux (edX) EdX
Red Hat

Fundamentals of Red Hat Enterprise Linux (edX)

Learn practical techniques for using Red Hat® Enterprise Linux® and how to perform basic system administration tasks. This course will provide you with a basic introduction to Linux® skills using Red Hat® Enterprise Linux. It will show you how a Linux system is organized, and will demonstrate introductory system administration tasks, which you will be able to practice on your own.

Self Paced
Self-Paced
Introducción al desarrollo de aplicaciones web (edX) EdX
Universidad Autonoma de Madrid

Introducción al desarrollo de aplicaciones web (edX)

Aprende a desarrollar una aplicación web desde cero con diferentes tecnologías como HTML, CSS, Python, JSON, JavaScript y Ajax. Hoy en día utilizamos la web para todo tipo de tareas: buscar un vuelo, comprar entradas, ver el pronóstico meteorológico, leer noticias, etc. Todo esto es posible gracias a las aplicaciones web creadas para darnos estos servicios.

Self Paced
Self-Paced
Digital Forensics Essentials (DFE) (edX) EdX
EC-Council

Digital Forensics Essentials (DFE) (edX)

Digital Forensics Essentials (DFE) is a first-of-its-kind MOOC certification that offers foundational knowledge and skills on digital forensics with add-on labs for hands-on experience. The rapid evolution of computers has brought technical devices as an active weapon to criminals. Cybercriminals have enjoyed the pleasure of being able to combine a large array of complex technologies to be successful in their mission. Due to the complexity of the attack, investigating a crime in the cyber world has become increasingly difficult to do.

Self Paced
Self-Paced