Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering Python: FastAPI, Docker, Streamlit, PostgreSQL
Rating: 4.2 out of 5(20 ratings)
69 students

Mastering Python: FastAPI, Docker, Streamlit, PostgreSQL

Build Robust Python Apps with Confidence: Test-Driven Development with FastAPI, Docker, Streamlit, PostgreSQL
Created byVinay Karode
Last updated 6/2024
English
English [Auto],

What you'll learn

  • Set up and manage virtual environments for Python projects.
  • Get started with FastAPI for building robust web APIs.
  • Integrate GitHub for version control and collaboration.
  • Configure PostgreSQL and Docker for database management.
  • Understand Python basics for API development.
  • Write tests for FastAPI routes using Pytest.
  • Develop endpoints and manage data with FastAPI.
  • Build and deploy applications using Docker and Streamlit.

Course content

1 section10 lectures2h 12m total length
  • 1 virtual env setup.10:10

    Begin by setting up a Python development environment using VS Code or PyCharm, install the Python extensions, and create a virtual environment in your project folder. Explore Docker for packaging.

  • 2 FastAPI get started5:48

    Learn to build a simple Python API with FastAPI, install via pip, and run a uvicorn server. Expose routes like /items/{id} to deploy data science models quickly.

  • 3 Github setup5:42

    Learn to save and track code changes with GitHub by initializing a repo, staging and committing files, ignoring local caches, and pushing to a remote repository.

  • 4 Postgres and docker setup13:50

    Set up a dockerized Postgres database for a university api that lists students and courses. Use docker compose with Postgres 15 alpine, volumes, and environment variables for local development.

  • 5 Python basics10:11

    Save docker compose and postgres changes with a git commit, then cover Python basics - modules, variables, lists, dictionaries, and a car class for API, test driven development.

  • 6 Pytest fastApi route19:30

    Set up app and test folders, create a status endpoint, and test it with pytest and test client. Manage environment and dependencies with a requirements file and run uvicorn.

  • 7 create_student route full26:28

    Connect to a postgres database with psycopg2 and create a /student endpoint to post new student data, verified by a pytest test.

  • 8 Building application into a docker container11:52

    Build and run a FastAPI app inside a Docker container using a Dockerfile and Docker Compose with Postgres, plus Swagger for UI and testing; commit and push changes to Git.

  • 9 additional endpoints with tests12:36

    Add and test new endpoints for a FastAPI app: fetch all students and delete a student, implement CRUD progression, and use pytest with Postgres and Docker for automated validation.

  • 10 building streamlit application16:18

    Build a Streamlit front end that creates, lists, and deletes students via the university API, while managing changes with git and Docker and running the app on port 8501.

Requirements

  • Basic understanding of Python programming.
  • Familiarity with command-line interface usage.
  • Basic knowledge of Git and GitHub.
  • Fundamental understanding of web development concepts.
  • Basic knowledge of SQL and databases.
  • Familiarity with virtual environments in Python.
  • Basic understanding of Docker concepts.
  • A computer with internet access for downloading required tools and resources.

Description

Unlock the full potential of Python with our comprehensive Udemy course, "Mastering Python: FastAPI, Docker, Streamlit, PostgreSQL." Whether you're an intermediate Python developer or looking to expand your skills in web application development, this course is tailored for you.

Dive into FastAPI, the modern, high-performance web framework for building APIs with Python. You'll learn to create robust and scalable APIs, mastering concepts from basic setups to advanced routing and authentication methods. Leveraging Docker, you'll discover the power of containerization, enabling seamless deployment and management of your applications across different environments.

Streamlit will be your gateway to building interactive and data-driven web interfaces effortlessly. Learn to visualize and deploy data applications quickly, enhancing user experience and engagement. PostgreSQL, a powerful open-source relational database, will round out your toolkit, equipping you with essential skills in data storage and retrieval.

What sets this course apart is our focus on Test-Driven Development (TDD). By following TDD principles, you'll write tests before writing code, ensuring reliability and maintainability in every stage of development. You'll gain hands-on experience with Pytest, the industry-standard testing framework for Python, ensuring your applications meet functional requirements and edge cases.

Join us to elevate your Python skills, build cutting-edge web applications, and gain the confidence to tackle real-world projects. Enroll now and embark on a journey towards becoming a proficient Python developer in modern web development.

Who this course is for:

  • Intermediate Python Developers: Ideal for those who have a basic understanding of Python and want to enhance their skills.
  • Backend Developers: Perfect for developers looking to master FastAPI for building robust web APIs.
  • Data Engineers: Beneficial for data engineers seeking to integrate PostgreSQL and Docker into their projects.
  • Software Enthusiasts: Great for those interested in modern web frameworks and application deployment.
  • QA Engineers: Suitable for QA professionals who want to learn Pytest for writing and automating tests.
  • DevOps Engineers: Valuable for DevOps practitioners interested in Docker containerization and deployment.
  • Tech Students: Useful for students in computer science or related fields aiming to gain practical experience.
  • Hobbyist Programmers: Perfect for hobbyists looking to take their Python projects to the next level.