Course overview
This course helps experienced developers deeply understand Python's internals and confidently apply advanced language features in backend development. You will master special methods, descriptors, metaclasses, typing, asyncio, profiling, debugging, and architectural practices. Every topic is reinforced with hands-on tasks in the UPSHELL trainer with automated solution checks.
You will learn
Design expressive and stable Python APIs
Apply asyncio, threads, and processes appropriately
Optimize code for memory and execution time
Test and debug complex backend modules
Table of contents
Python Internals: Core Theory
Practice
18 min.
Data Model and Special Methods
Practice
18 min.
Iterators and Generators
Practice
17 min.
Context Managers
Practice
17 min.
Descriptors in Practice
Practice
20 min.
Metaclasses and __init_subclass__
Practice
36 min.
Functions as First-Class Objects
Practice
36 min.
Decorators without Magic
Practice
39 min.
Signatures and Introspection
Practice
17 min.
Advanced Typing
Practice
36 min.
Dataclass, attrs, Pydantic
Practice
19 min.
Designing Python APIs
Practice
18 min.
Memory and Garbage Collection
Practice
31 min.
slots, struct and Compact Data
Practice
17 min.
CPU and Memory Profiling
Practice
35 min.
Optimizing Python Code
Practice
18 min.
Logging and Tracing
Practice
18 min.
Debugging Complex Failures
Practice
18 min.
Threads, Processes and GIL
Practice
33 min.
Asyncio Fundamentals
Practice
20 min.
Cancellation, Timeouts, Backpressure
Practice
37 min.
Asyncio Synchronization
Practice
42 min.
Mixed Sync and Async Code
Practice
36 min.
Testing Async Applications
Practice
34 min.
Exceptions and Error Handling
Practice
39 min.
Pytest Advanced Techniques
Practice
35 min.
Mocks, Fakes and Contracts
Practice
20 min.
Packages and Modules Architecture
Practice
34 min.
Plugins and Extensible Code
Practice
19 min.
Mini Project: Backend Core
Practice
44 min.
Frequently Asked Questions
A subscription to the platform gives you unlimited access to all courses, as well as access to an online trainer with practical exercises.
Additionally, with a Premium subscription or higher, you also get access to all pet projects and the opportunity to take technical interviews with an AI mentor.
You can cancel your subscription at any time, and you will still have access to the platform for the paid period. You can do this through your personal account in the 'Subscription Management' section.
Yes, you can upgrade to a new plan at any time. We will provide a discount based on the unused time of your current plan. You can change your plan in your personal account.
To request a refund for a paid plan, please contact us at support@upshell.io. We will process your refund for the unused portion of your subscription within 5 business days.