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

Introduction to Digital Humanities (edX) EdX
HarvardX,Harvard University

Introduction to Digital Humanities (edX)

Develop skills in digital research and visualization techniques across subjects and fields within the humanities. This course will show you how to manage the many aspects of digital humanities research and scholarship. Whether you are a student or scholar, librarian or archivist, museum curator or public historian — or just plain curious — this course will help you bring your area of study or interest to new life using digital tools.

Self Paced
Self-Paced
Programación para todos (empezando con Python) (edX) EdX
University of Michigan,MichiganX

Programación para todos (empezando con Python) (edX)

Este curso en línea es una introducción "sin prerrequisitos" a la programación en Python. Aprenderás sobre las variables, la ejecución condicional, la ejecución repetida y cómo usamos las funciones. Este curso de Python tiene el objetivo de enseñar a todos lo básico de la programación de computadoras usando Python. Conocerás cómo construir un programa de una serie de instrucciones simples en Python.

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
Probability and Statistics in Data Science using Python (edX) EdX
University of California, San Diego,UC San DiegoX

Probability and Statistics in Data Science using Python (edX)

Using Python, learn statistical and probabilistic approaches to understand and gain insights from data. The job of a data scientist is to glean knowledge from complex and noisy datasets. Reasoning about uncertainty is inherent in the analysis of noisy data. Probability and Statistics provide the mathematical foundation for such reasoning.

Self Paced
Self-Paced
Full Stack Application Development Project (edX) EdX
IBM

Full Stack Application Development Project (edX)

For this project you will apply your knowledge of front end and back end development gained from previous courses and build and deploy a full stack real-world web application on the cloud. Your project will showcase your understanding of the user experience and user interface design process, and your skills and technologies with Django, Python, Node.JS and Containers.

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