Tangy is building your next step
Shaping the lesson around what you want to make.
Tangy is building your next step
Shaping the lesson around what you want to make.
Computer Science
A hands‑on course that takes the learner from their current HTML/CSS/React knowledge to a production‑ready Python 3.13 backend that showcases every new language and library feature released in Python 3.13. Each module builds a visible piece of the backend and connects it to the existing React full‑stack project.
Install Python 3.13 and explore the new REPL
2 lessonsSet up the exact version of Python used by the documentation, run the new interactive interpreter, and see colored tracebacks.
New locals() semantics and static attributes
2 lessonsLearn the changed behavior of `locals()` in optimized scopes and the new `__static_attributes__` class feature.
Typing enhancements in Python 3.13
4 lessonsApply the four major typing PEPs (696, 702, 705, 742) to a FastAPI endpoint.
Standard‑library additions and deprecations
6 lessonsIntroduce the new functions and modules shipped with Python 3.13 and replace deprecated parts of existing code.
Free‑threaded execution and the experimental JIT
2 lessonsRun the backend under the free‑threaded interpreter, enable the just‑in‑time compiler, and benchmark the impact.
Security defaults and new exception handling
2 lessonsLeverage the updated SSL defaults and handle the new `PythonFinalizationError` during graceful shutdown.
Integrate the Python 3.13 backend with the React full‑stack app
2 lessonsCombine all previously built pieces into a deployable FastAPI service that the learner’s React front‑end consumes.
Public lesson
Predict
What will happen?
Before we look anything up, type the command you would run right now to see what version of Python is installed on your machine. Write it in your terminal and press Enter.
Tasks
Open a browser and go to https://www.python.org/downloads/. Click the link that reads “Python 3.13.x” – the “x” will be the latest bug‑level release. Choose the installer that matches your OS: * Windows → Windows installer (64‑bit) * macOS → macOS 64‑bit universal2 installer * Linux → you can use the source tarball, but most distributions already ship an older Python; we’ll use the official installers for simplicity. Save the file and run it.
The installer puts the new interpreter on your system so you can call it directly; without it the later steps would fail.
Tasks
During the Windows installation there is a checkbox “Add Python 3.13 to PATH” – keep it selected. On macOS the installer does this automatically. If you skipped the checkbox, add the folder (e.g. C:\\Users\\<you>\\AppData\\Local\\Programs\\Python\\Python313\\) to your system PATH.
Tasks
Check: In a fresh terminal window type: bash python3.13 --version You should see something like: ```
Python 3.13.0
Tasks
Now launch the interpreter that ships with the colored output: bash python3.13 You’ll be greeted by the prompt: ```
Tasks
At the prompt, type an expression that raises an exception, for example: ```python
1 / 0 ``` Press Enter. You should see a traceback where: * the file name and line number are one colour, * the exception type (
ZeroDivisionError) is another, * the message (division by zero) stands out in a third colour.
The coloured traceback makes the location of the error pop out, which is exactly what the new REPL promises.
Tasks
Enter a small function definition: ```python
def greet(name): ... print(f"Hello, {name}!") ... greet("world") ``` Observe how: * keywords like
defand"Hello, {name}!") appear in another, * the function name and parameters keep a neutral colour. Check: The colour changes should happen as you type and when the line is executed.
Tasks
Close the REPL with exit() or Ctrl‑D, then reopen it again using the same command (python3.13). Repeat step 5 (the division by zero) to confirm the colours persist across sessions.
If everything behaved as described, you’ve successfully installed Python 3.13 and verified that its REPL gives you the default colourised tracebacks and syntax highlighting.
7 modules · 20 lessons
Install Python 3.13 and explore the new REPL
New locals() semantics and static attributes
Typing enhancements in Python 3.13
Standard‑library additions and deprecations
Free‑threaded execution and the experimental JIT
Security defaults and new exception handling
Integrate the Python 3.13 backend with the React full‑stack app
Learn by building your own version.
Remix this public project to open the workspace, follow the guided build, and let the AI mentor teach you through the work instead of doing it for you.