VOOZH about

URL: https://www.coursera.org/learn/python-rust-linux

⇱ Python and Rust with Linux Command Line Tools | Coursera


Python and Rust with Linux Command Line Tools

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Python and Rust with Linux Command Line Tools

This course is part of Rust Programming Specialization

2,487 already enrolled

Included with

β€’

Learn more

Gain insight into a topic and learn the fundamentals.
5.0

16 reviews

Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week

Gain insight into a topic and learn the fundamentals.
5.0

16 reviews

Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week

What you'll learn

  • Build powerful command line tools in Rust and Python

  • Use Python with Rust for building powerful tools

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

4 assignments

Taught in English
Flexible schedule
Learn at your own pace

Build your subject-matter expertise

This course is part of the Rust Programming Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 4 modules in this course

This course is designed for beginners and those with some programming experience in either Python or Rust that want to implement automation and utilities in the command-line. Although no prior knowledge of Python or Rust is required, basic programming knowledge is recommended as well as some familiarity with the command-line interface (CLI). Throughout the course, you will gain a solid foundation for building efficient, reliable, and high-performance command-line tools that can help you automate tasks for data engineering, systems engineering, and DevOps. By completing this course, you will have the skills to develop and distribute sophisticated and efficient command-line tools.

This week, you will learn how to create a basic command-line tool in Python and Rust, handle command-line arguments and options, organize code into modules and packages, and implement logging and error handling. You will apply these skills by developing a command-line tool that accepts user input, uses modules to organize code, logs output, and handles errors gracefully. The tool will demonstrate your ability to build a functional CLI program using best practices covered this week.

What's included

25 videos13 readings1 assignment1 discussion prompt1 ungraded lab

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

This week, you will learn how to create command-line tools with subcommands, parse complex arguments, and incorporate environment variables in both Rust and Python. You will apply these skills by developing a fully-featured command-line tool that can handle subcommands, arguments, and environment variables in a user-friendly way. The tool will demonstrate your proficiency in organizing functionality, flexibly handling input, and integrating with the environment in Rust and Python.

What's included

21 videos13 readings1 assignment

21 videosβ€’Total 136 minutes
  • Introductionβ€’2 minutes
  • Creating a Command-line tool with sub-commands in Rustβ€’11 minutes
  • Creating a Command-line tool with sub-commands in Pythonβ€’9 minutes
  • Parsing complex Command-line arguments in Rustβ€’9 minutes
  • Parsing complex Command-line arguments in Pythonβ€’12 minutes
  • Adding environment variables to your Command-line tool in Rustβ€’4 minutes
  • Adding environment variables to your Command-line tool in Pythonβ€’6 minutes
  • Introductionβ€’2 minutes
  • Creating a package for your Command-line tool in Rustβ€’7 minutes
  • Creating a package for your Command-line tool in Pythonβ€’7 minutes
  • Alternatives in Python packagingβ€’5 minutes
  • Release your Rust application to crates.ioβ€’9 minutes
  • Release to the Python Package Index (PyPI)β€’5 minutes
  • Containerizing your applicationβ€’4 minutes
  • Introductionβ€’2 minutes
  • Implementing basic logging in Rustβ€’6 minutes
  • Implementing basic logging in Pythonβ€’7 minutes
  • Using different types of logs in Rustβ€’7 minutes
  • Using different types of logs in Pythonβ€’5 minutes
  • Handling errors in Rustβ€’10 minutes
  • Handling errors in Pythonβ€’8 minutes
13 readingsβ€’Total 130 minutes
  • Adding subcommands with Clapβ€’10 minutes
  • Integrating Linux commands with Clickβ€’10 minutes
  • External lab: Add environment variables to your Command-line tool in Rustβ€’10 minutes
  • External lab: Build a timestamp CLI tool in Rustβ€’10 minutes
  • External lab: Build a JSON formatter CLI in Pythonβ€’10 minutes
  • Releasing in Rustβ€’10 minutes
  • External lab: Package and distribute your Rust CLIβ€’10 minutes
  • Python Packaging User Guideβ€’10 minutes
  • External lab: Package and distribute your Python CLIβ€’10 minutes
  • External lab: Enhance a Python application with loggingβ€’10 minutes
  • Adding logging and tracing in Rustβ€’10 minutes
  • External lab: Enhance a Rust application with loggingβ€’10 minutes
  • End of week reflectionsβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Advanced CLI developmentβ€’30 minutes

his week, you will learn how to explore advanced PyO3 features such as handling exceptions, custom conversions, and utilizing attributes. You'll also delve into the best practices for mixing Rust and Python, and understand how Rust can be leveraged for CPU-bound operations in Python. Furthermore, you'll begin the process of converting Python scripts into command-line tools using Rust, and familiarize yourself with error handling and logging in Rust CLI applications. To apply what you've learned, you'll be assessed through a series of hands-on exercises, including: Implementing a Rust function with custom exception handling that can be called from Python. Converting a simple Python script into a Rust CLI tool, focusing on the first part of the conversion process. Writing a brief case study analysis on how Rust can optimize CPU-bound operations in a given Python project. By the end of this week, you'll have a solid understanding of advanced Rust and Python integration techniques.

What's included

21 videos9 readings1 assignment

21 videosβ€’Total 91 minutes
  • Introduction to Rust and Python Integration: Why and When?β€’5 minutes
  • Getting Started with PyO3: Installation and Configurationβ€’4 minutes
  • Creating a Basic Rust Library with PyO3β€’5 minutes
  • Data Types and Conversions: Rust to Pythonβ€’4 minutes
  • Understanding Rust's Ownership Model in PyO3β€’5 minutes
  • Diagram PyO3 Projectβ€’4 minutes
  • Writing Calculator CLI with Python Fire and Rustβ€’4 minutes
  • Exploring Advanced PyO3 Features: Exceptions, Conversions, Attributes.β€’3 minutes
  • Using Py03 Exceptionsβ€’4 minutes
  • Call Python from Rustβ€’6 minutes
  • Run Embedded Python in Rustβ€’5 minutes
  • Embedded Python in Rust CLI with Clap Diagramβ€’4 minutes
  • Embedded Python in Rust CLI with Clapβ€’5 minutes
  • Enhance Embedded Python in Rust CLI with Clap test.β€’5 minutes
  • Rust built Python toolsβ€’4 minutes
  • Using Rust ruff to lint python codeβ€’5 minutes
  • Using Polars with Python and Rustβ€’4 minutes
  • Building a Polars CLI in Rustβ€’4 minutes
  • Building a Polars CLI Test for Rustβ€’4 minutes
  • Building Polars Clap Integration Testβ€’3 minutes
  • Building Benchmarkingβ€’6 minutes
9 readingsβ€’Total 90 minutes
  • PyO3 User Guideβ€’10 minutes
  • External Lab: Writing Calculator CLI with Python Fire and Rustβ€’10 minutes
  • Rust Ownershipβ€’10 minutes
  • External Lab: Run Embedded Python in Rustβ€’10 minutes
  • PyO3 Exceptionsβ€’10 minutes
  • Testing Clapβ€’10 minutes
  • Criterionβ€’10 minutes
  • External Lab: Building a Polars CLI in Rustβ€’10 minutes
  • Final Week-Reflectionβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Using Rust with Pythonβ€’30 minutes

This week, you will learn how to create, deploy, and manage AWS Lambda functions using Rust, leveraging the power and performance of the language for serverless architecture, and applying it by building a real-world Lambda function as a part of a distributed application.

What's included

21 videos16 readings1 assignment1 ungraded lab

21 videosβ€’Total 88 minutes
  • Introduction to Serverless and AWS Lambdaβ€’3 minutes
  • Walk through Rust Firecracker Projectβ€’2 minutes
  • Setting up VSCode AWS Toolkit and CodeWhisperer for Rustβ€’3 minutes
  • Introduction to Cargo Lambdaβ€’4 minutes
  • Rust Cost Advantage AWS Lambdaβ€’4 minutes
  • Using the AWS Lambda Consoleβ€’5 minutes
  • Using the Step Functions Consoleβ€’4 minutes
  • Invoking Step Functions from AWS CLIβ€’3 minutes
  • Building a Rust AWS Lambda Add Functionβ€’7 minutes
  • Building a Rust AWS Lambda Divide by Two Functionβ€’5 minutes
  • Invoking AWS Step Function from CLIβ€’3 minutes
  • Building Chainable AWS Step Functions with Rustβ€’7 minutes
  • Serverless MLOPs with EFS mounted in AWS Lambdaβ€’10 minutes
  • Using Rust AWS Lambda Function URLSβ€’4 minutes
  • Saving money with arm64 Rust AWS Lambdasβ€’3 minutes
  • Polars Rust AWS Lambdaβ€’3 minutes
  • Build and Deploy Polars Rust AWS Lambdaβ€’6 minutes
  • Using AWS Console with deployed Polars Rust AWS Lambdaβ€’5 minutes
  • Analyzing Rust AWS Lambda code with CodeWhisperer and AWS Toolkitβ€’3 minutes
  • AWS Lambda Function URLsβ€’2 minutes
  • Build and Deploy Polars Rust AWS Lambda Function URLsβ€’4 minutes
16 readingsβ€’Total 160 minutes
  • Key Termsβ€’10 minutes
  • Cargo Lambdaβ€’10 minutes
  • Firecrackerβ€’10 minutes
  • AWS Toolkit for Visual Studio Codeβ€’10 minutes
  • External Lab: Cargo Lambda Hello World β€’10 minutes
  • External Lab: Building a Rust AWS Lambda Add Functionβ€’10 minutes
  • Lambda instruction set architectures (ARM/x86)β€’10 minutes
  • Lambda function URLsβ€’10 minutes
  • Using Amazon EFS with Lambdaβ€’10 minutes
  • Polars User Guideβ€’10 minutes
  • AWS CodeWhisperer User Guideβ€’10 minutes
  • TPCH Benchmarkβ€’10 minutes
  • External Lab: Build and Deploy Polars Rust AWS Lambda Function URLsβ€’10 minutes
  • Final Week-Reflectionβ€’10 minutes
  • Share your learning experienceβ€’10 minutes
  • Next Stepsβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Rust AWS Lambdaβ€’30 minutes
1 ungraded labβ€’Total 60 minutes
  • Running Cargo Lambdaβ€’60 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Duke University
40 Coursesβ€’282,750 learners

Explore more from Software Development

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,