Python and Rust with Linux Command Line Tools
- Offered byCoursera
Python and Rust with Linux Command Line Tools at Coursera Overview
Duration | 19 hours |
Total fee | Free |
Mode of learning | Online |
Official Website | Explore Free Course |
Credential | Certificate |
Python and Rust with Linux Command Line Tools at Coursera Highlights
- Earn a certificate from Duke University
- Add to your LinkedIn profile
- 4 quizzes
Python and Rust with Linux Command Line Tools at Coursera Course details
- What you'll learn
- Build powerful command line tools in Rust and Python
- Use Python with Rust for building powerful tools
- 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.
Python and Rust with Linux Command Line Tools at Coursera Curriculum
Introduction to Command-line tools with Python and Rust
Meet your instructor: Alfredo Deza
Meet your instructor: Noah Gift
About this course
Introduction
Setting up your development environment for Command-line tool development
Your first Command-line tool in Python
Working with user input: arguments and options
Expanding your tool's functionality with modules and libraries
Managing output: logging, errors, and exceptions
Optimizing your Command-line tools: performance and best practices
Introduction
Setting up your development environment for Command-line development
Your first Command-line tool in Rust
Working with user input: arguments and options
Expanding your tool's functionality with modules and libraries
Managing output: logging, errors, and panics
Optimizing your Command-line tools: Performance and best practices
Introduction
Organizing your project with modules and packages in Python
Working with dependencies and libraries in Python
The Python Package Index
Creating and using modules in Rust
Advanced module usage in Rust
Working with dependencies and libraries in Rust
Using crates.io for Rust
Course structure and discussion etiquette
A basic Python CLI example
External lab: build a basic Python CLI
Introduction to the Click framework
Introduction to building a Rust CLI
External lab: Setup your environment
External lab: build a basic Rust CLI
External lab: Create a Python Package Index account
The Python Packaging Index
Explore modules, packages, and third-party Rust crates
External lab: update a Rust CLI to use modules
End of week reflections
CLI basics Quiz
Meet and greet (optional)
Simple Command-line tool in Python
Advanced Command-line tool development
Introduction
Creating a Command-line tool with sub-commands in Rust
Creating a Command-line tool with sub-commands in Python
Parsing complex Command-line arguments in Rust
Parsing complex Command-line arguments in Python
Adding environment variables to your Command-line tool in Rust
Adding environment variables to your Command-line tool in Python
Introduction
Creating a package for your Command-line tool in Rust
Creating a package for your Command-line tool in Python
Alternatives in Python packaging
Release your Rust application to crates.io
Release to the Python Package Index (PyPI)
Containerizing your application
Introduction
Implementing basic logging in Rust
Implementing basic logging in Python
Using different types of logs in Rust
Using different types of logs in Python
Handling errors in Rust
Handling errors in Python
Adding subcommands with Clap
Integrating Linux commands with Click
External lab: Add environment variables to your Command-line tool in Rust
External lab: Build a timestamp CLI tool in Rust
External lab: Build a JSON formatter CLI in Python
Releasing in Rust
External lab: Package and distribute your Rust CLI
Python Packaging User Guide
External lab: Package and distribute your Python CLI
External lab: Enhance a Python application with logging
Adding logging and tracing in Rust
External lab: Enhance a Rust application with logging
End of week reflections
Advanced CLI development
Using Rust with Python
Introduction to Rust and Python Integration: Why and When?
Getting Started with PyO3: Installation and Configuration
Creating a Basic Rust Library with PyO3
Data Types and Conversions: Rust to Python
Understanding Rust's Ownership Model in PyO3
Diagram PyO3 Project
Writing Calculator CLI with Python Fire and Rust
Exploring Advanced PyO3 Features: Exceptions, Conversions, Attributes.
Using Py03 Exceptions
Call Python from Rust
Run Embedded Python in Rust
Embedded Python in Rust CLI with Clap Diagram
Embedded Python in Rust CLI with Clap
Enhance Embedded Python in Rust CLI with Clap test.
Rust built Python tools
Using Rust ruff to lint python code
Using Polars with Python and Rust
Building a Polars CLI in Rust
Building a Polars CLI Test for Rust
Building Polars Clap Integration Test
Building Benchmarking
PyO3 User Guide
External Lab: Writing Calculator CLI with Python Fire and Rust
Rust Ownership
External Lab: Run Embedded Python in Rust
PyO3 Exceptions
Testing Clap
Criterion
External Lab: Building a Polars CLI in Rust
Final Week-Reflection
Using Rust with Python
Rust AWS Lambda
Introduction to Serverless and AWS Lambda
Walk through Rust Firecracker Project
Setting up VSCode AWS Toolkit and CodeWhisperer for Rust
Introduction to Cargo Lambda
Rust Cost Advantage AWS Lambda
Using the AWS Lambda Console
Using the Step Functions Console
Invoking Step Functions from AWS CLI
Building a Rust AWS Lambda Add Function
Building a Rust AWS Lambda Divide by Two Function
Invoking AWS Step Function from CLI
Building Chainable AWS Step Functions with Rust
Serverless MLOPs with EFS mounted in AWS Lambda
Using Rust AWS Lambda Function URLS
Saving money with arm64 Rust AWS Lambdas
Polars Rust AWS Lambda
Build and Deploy Polars Rust AWS Lambda
Using AWS Console with deployed Polars Rust AWS Lambda
Analyzing Rust AWS Lambda code with CodeWhisperer and AWS Toolkit
AWS Lambda Function URLs
Build and Deploy Polars Rust AWS Lambda Function URLs
Cargo Lambda
Firecracker
AWS Toolkit for Visual Studio Code
External Lab: Cargo Lambda Hello World
External Lab: Building a Rust AWS Lambda Add Function
Lambda instruction set architectures (ARM/x86)
Lambda function URLs
Using Amazon EFS with Lambda
Polars User Guide
AWS CodeWhisperer User Guide
TPCH Benchmark
External Lab: Build and Deploy Polars Rust AWS Lambda Function URLs
Final Week-Reflection
Rust AWS Lambda