EdX

Web Applications and Command-Line Tools for Data Engineering (edX)

Web Applications and Command-Line Tools for Data Engineering (edX)

Learn to build web apps, microservices, and command-line tools for efficient data engineering using Python, FastAPI, and Rust.

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

In this practical course, you'll gain essential skills for modern data engineering:

  • Build interactive Jupyter notebooks for data analysis and machine learning
  • Deploy notebooks on cloud platforms like Google Colab and AWS SageMaker
  • Construct scalable Python microservices using FastAPI
  • Containerize and deploy machine learning microservices
  • Create robust command-line tools in Python and Rust
  • Automate testing and publishing of your data engineering projects

Whether you're a data engineer, scientist, or analyst, this course will level up your abilities to build powerful data solutions. Get hands-on experience with cutting-edge tools and techniques you can apply on the job.
This course is part of the Data Engineering Foundations Professional Certificate.

What you'll learn

  • Jupyter for data engineering workflows
  • Cloud notebook deployment
  • FastAPI microservices development
  • Containerization of ML microservices
  • Python command-line tools
  • Rust CLI app development
  • Automated testing and publishing

Syllabus

Here is the course structure formatted with bullets for each module:

Module 1: Jupyter Notebooks (4 hours)
\- Introduction to web applications and command-line tools for data engineering
\- Overview of key concepts
\- Getting started with Jupyter notebooks
\- Code cells and text cells in Jupyter
\- Magics in Jupyter
\- Overview of Jupyter Lab

Module 2: Cloud-Hosted Notebooks (5 hours)
\- Introduction to Google Colab
\- Tour of Colab features
\- Data and documents in Colab
\- Introduction to AWS SageMaker
\- Tour of SageMaker Studio
\- Overview of SageMaker Pipelines

Module 3: Python Microservices (12 hours)
\- Introduction to building Python microservices
\- Benefits of microservices
\- Setting up Python project structure for CI
\- Building a random fruit web app with Python
\- Introduction to Python microservices with FastAPI
\- Building FastAPI microservices for ML predictions
\- Deploying a Python Lambda microservice
\- Introduction to building containerized microservices
\- Why use containers for microservices?
\- Deploying a containerized .NET 6 API
\- Deploying a containerized ML microservice

Module 4: Python Packaging and Rust Command-Line Tools (19 hours)
\- Introduction to Python packaging and command-line tools
\- Getting started with Python projects
\- Overview of command-line tool frameworks
\- Using Click to build a command-line tool
\- Exploring advanced command-line tool features
\- Introduction to packaging and distributing your Python project
\- Working with Python setup tools
\- Uploading to a Python registry
\- Introduction to continuous integration for command-line tools
\- Automating testing and publishing with GitHub Actions
\- Introduction to Rust command-line tools
\- Working with user input, output, modules in Rust
\- Optimizing Rust command-line tools
\- Big O notation final challenge

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 Programming with Python (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Programming with Python (edX)

An introduction to programming using Python, a popular language for general-purpose programming, data science, web programming, and more. An introduction to programming using a language called Python. Learn how to read and write code as well as how to test and "debug" it. Designed for students with and without prior programming experience who'd like to learn Python specifically.

Self Paced
Self-Paced
Computing in Python I: Fundamentals and Procedural Programming (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python I: Fundamentals and Procedural Programming (edX)

Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs. This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

Self Paced
Self-Paced
Python: aprender a programar (edX) EdX
Universitat Politècnica de València,UPValenciaX

Python: aprender a programar (edX)

Aprende a programar con Python desde cero. Comienza conociendo variables, bucles y funciones y llega a manejar ficheros de texto. Este curso empieza desde 0 para aprender a programar con Python, tratando los fundamentos de programación como son las variables y constantes, las condiciones, los bucles y los módulos y funciones, para acabar introduciendo el tratamiento de cadenas de texto y los ficheros.

Self Paced
Self-Paced
Python Data Structures (edX) EdX
University of Michigan,MichiganX

Python Data Structures (edX)

The second course in Python for Everybody explores variables that contain collections of data like string, lists, dictionaries, and tuples. Learning how to store and represent and manipulate data collections while a program is running is an important part of learning how to program.

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