Tags
- #105: Multiply Strings in Python
- #133: Minimalistic DTOs in Python
- #205: Monkey Patching
- #206: What Is the Meaning of ** and * in Parameters and Method Calls?
- #207: Type Hints
- #209: Defaultdict
- #210: Cache Function Calls
- #215: Async & Await
- #261: The Counter Class
- #262: When () Disappear in Method Calls
- #294: Callable Classes in Python
- #308: Overwrite | to Simulate UNIX Pipes
- #309: Repeating and Combining Lists With itertools
- #30: List Comprehension
- #310: The Zip() Function
- #313: Persisted Cache for Function Calls
- #37: Decorators
- #48: Yield and Generators
- #99: Iterate in Reversed Order Through Your Lists
- #255: How to Work With MP3 Metadata
- #256: How to Work With FLAC Metadata
- #289: Record Audio With Sounddevice
- #290: Record Audio With PyAudio
- #108: Getting Input From the Command Line
- #10: Classes (Part 2)
- #11: The Zen of Python
- #12: Exceptions
- #134: Date and Time in Python (Part 1: Date)
- #135: Date and Time in Python (Part 2: Datetime)
- #136: Date and Time in Python (Part 3: dateutil)
- #13: Add Comments to Your Code
- #15: Documenting Your Code
- #16: Working With Files
- #17: What is PEP?
- #18: Working With the File System
- #19: Working with Packages in Python
- #1: Let’s Learn Python
- #208: Working With Lists and Dictionaries
- #22: Lambda Functions
- #257: Less Boilerplate Code With Data Classes
- #26: The dir() Function
- #282: Working With Temporary Files
- #2: Resources to Learn Python
- #3: Numbers, Booleans & None
- #4: Lists, Dictionaries, Sets & Tuples
- #55: Separate Development From Runtime Dependencies
- #5: Strings
- #61: Slow Down Your Python Code
- #66: Generate Random Numbers
- #67: Generate Random Data From a Sequence
- #6: Control Structures
- #7: Functions
- #8: Modules
- #9: Classes (Part 1)
- #121: RabbitMQ and Python
- #122: Asynchronous Jobs With Celery
- #123: Running Celery on Windows
- #124: Delay Jobs in Celery
- #125: Logging in Celery
- #126: Flask and Celery
- #127: Track the State of a Celery Task
- #128: Periodic Tasks in Celery
- #13: Add Comments to Your Code
- #15: Documenting Your Code
- #57: Introduction to MkDocs
- #58: Customise MkDocs
- #59: Source Code in MkDocs
- #68: Use Doctest to Test Your Documentation
- #69: Dynamic Output and Doctest
- #269: Introducing DuckDB
- #270: Persisting Data in DuckDB
- #271: Querying Data With DuckDB
- #272: Extensions for DuckDB
- #273: Query Excel Files With DuckDB
- #130: Different File Encodings Between Windows and Linux
- #201: How Much Cost a Print()?
- #202: Rounding in Python
- #24: Multiple Return Values?
- #214: First Steps With FastAPI
- #216: Test Your FastAPI Application
- #217: Path- and Query Parameters in FastAPI
- #218: Send Data to FastAPI
- #219: Structure your FastAPI Application
- #220: Manage To-Dos With FastAPI
- #221: Refactor the FastAPI To-Do Application
- #222: Filter the Tasks in the FastAPI Application
- #223: Better Pydantic Models for FastAPI
- #224: Better HTTP Status Codes for FastAPI
- #225: Set a Response Header With FastAPI
- #226: Fine-Tune the OpenAPI Documentation in FastAPI
- #228: HTTP Basic Authentication in FastAPI
- #229: OAuth2 and JWT to Protect a FastAPI Application
- #230: Fix the PydanticJsonSchemaWarning in FastAPI
- #231: Split a FastAPI Application Into Manageable Parts
- #233: SQLAlchemy and FastAPI
- #234: Database Tests for the FastAPI Application
- #235: DB Migrations With Alembic and FastAPI
- #236: Add a Web Interface to FastAPI
- #237: Static Routes in FastAPI
- #238: Create a Dashboard for FastAPI
- #240: Asynchronous SQLAlchemy With FastAPI
- #241: Filters for SQLAlchemy and FastAPI
- #242: API Versioning in FastAPI
- #243: Rate Limit in FastAPI
- #244: Integrate FastAPI Users Into the To-Do Application
- #245: Run FastAPI in Docker & in Production
- #246: Helpful Tricks for FastAPI
- #120: Modify the Create Date of a File
- #130: Different File Encodings Between Windows and Linux
- #16: Working With Files
- #18: Working With the File System
- #97: Changing the Current Working Directory
- #315: Access Stock Market Data With yfinance
- #316: Visualise Stock Market Data With mplfinance
- #317: Working With Stock Marked Data
- #318: Testing Trading Algorithms: Bollinger Bands
- #319: Testing Trading Algorithms: MACD
- #199: Adding Dash to an Existing Flask Application
- #32: First Steps With Flask
- #33: Activate Auto-Reload for Flask in VS Code
- #34: Jinja Templates
- #35: Shared Layouts in Jinja
- #36: Routing in Flask
- #38: Forms for Your Flask App
- #39: Form Validation for Your Flask App
- #40: Form Validation for Your Flask App With ViewModels
- #41: Structure Your Flask App
- #42: Using Blueprint to Clean-up Your View Functions File
- #43: Add Security Headers to Your Flask Application
- #63: Logging in Flask
- #65: Log from Flask to Seq
- #106: Accessing Environment Variables in Python
- #107: Working With .env Files in Python
- #129: Copy & Paste With Python
- #20: Creating Virtual Environments
- #21: Manage Your Dependencies
- #227: Hash a Password With Bcrypt
- #263: Generate Realistic Test Data With Faker
- #264: Custom Providers for Faker
- #314: Sortable GUIDs With UUID V7
- #23: Visual Studio Code for Python
- #25: Helpful Resources for VS Code and Python
- #33: Activate Auto-Reload for Flask in VS Code
- #160: Jupyter Notebooks for Your Data Analysis
- #161: Organise Data and Code in Jupyter Notebooks
- #162: Tips & Tricks to Work Effectively With JupyterLab
- #163: Share Your Jupyter Notebooks
- #183: Advanced Tips & Tricks for JupyterLab
- #184: Performance-Related Magic Commands in Jupyter
- #185: Creating DataFrames in Pandas
- #186: Filter Data in Pandas
- #187: Extracting the NDC Talks Data From YouTube
- #188: Working With the NDC Talks Data
- #189: Visualize Text With a Word Cloud
- #100
- #14: 5 Python Courses on Pluralsight You Should Not Miss
- #200
- #250
- #28: Python Podcasts
- #295: A Simple Strategy to Tackle Errors
- #29: Humble Software Bundle for Python
- #300: Learning Python in the Age of AI?
- #52: 1 Year of Python Friday
- #72: PyCon US 2021
- #277: Access Local LLMs Through LM Studio
- #278: Optimise the LLM Client
- #301: Introducing LangChain for AI Applications
- #302: Create a LLM Client With Chat History
- #303: Use a Search Engine With LangChain
- #304: Chat With CSV Files in LangChain
- #305: Chat With a Database in LangChain
- #306: A PDF Bot With LangChain
- #307: Experimenting With a Large PDF File in LangChain
- #320: Store Embeddings in ChromaDB
- #321: Working With Metadata in Chroma
- #322: Embed Markdown for a Python Friday RAG
- #323: Add the LLM to the Python Friday RAG
- #324: Add a UI to the Python Friday RAG
- #325: First Steps With LangGraph
- #326: Control Flow in LangGraph
- #327: Visualise the Graph in LangGraph
- #328: Create Tools for LangGraph
- #329: Human in the Loop With LangGraph
- #330: Selective Approval With LangGraph
- #331: Short-Term Memory in LangGraph
- #332: Long-Term Memory in LangGraph
- #333: Inspect and Rerun Workflows in LangGraph
- #334: Create Subgraphs in LangGraph
- #335: Handle the Raspberry-Test in LangGraph
- #336: Build a MCP Server With FastMCP
- #337: Add a MCP Server to LangGraph
- #338: Multi-Agents in LangGraph
- #62: Logging in Python
- #63: Logging in Flask
- #64: Structured Log Messages for Seq
- #65: Log from Flask to Seq
- #164: Visualise Data With Matplotlib
- #165: Figures and Axes in Matplotlib
- #166: Export your Matplotlib Plots
- #167: Often used Diagrams for Matplotlib
- #168: Customise Your Plots in Matplotlib
- #169: Style Your Plots in Matplotlib
- #170: XKCD Styled Plots for Matplotlib
- #171: Annotate Your Matplotlib Plots
- #172: Combine Multiple Plots in Matplotlib
- #247: Static Site Generators for a Blog?
- #248: MkDocs for a Blog
- #249: Migrate from WordPress to Markdown
- #251: Create HTTP Redirects to the New Blog
- #252: 5 Common Errors in MkDocs and How to Avoid Them
- #258: Fix the Internal Links in the RSS-Feed of MkDocs
- #259: 2 More Common Errors in MkDocs and How to Fix Them
- #260: Helpful Resources for MkDocs
- #276: Fix Social Links in RSS Feed of MkDocs
- #57: Introduction to MkDocs
- #58: Customise MkDocs
- #59: Source Code in MkDocs
- #279: Sentiment Analysis in Python
- #280: Sentiment Analysis With Bert of Goodreads Reviews
- #281: Language Detection in Python
- #284: Basic Text-to-Speech With Google Translate
- #285: Intermediate Text-to-Speech With Pyttsx3
- #286: Advanced Text-to-Speech With Coqui TTS
- #287: PyTorch With GPU Support
- #291: Extract Text From Audio Files With Vosk
- #292: Extract Text From Audio Files With Whisper
- #293: Self-Made Speech-to-Text With Python
- #19: Working with Packages in Python
- #20: Creating Virtual Environments
- #21: Manage Your Dependencies
- #267: uv - The Fast Pip Replacement
- #268: Manage Projects With uv
- #288: 5 Helpful Tricks for UV
- #311: Creating Packages With uv
- #55: Separate Development From Runtime Dependencies
- #103: Working With CSV Files in Pandas
- #104: Creating a Pivot Table in Pandas
- #175: Visualise Data in Pandas With Plot()
- #176: Visualise Data in Pandas With Hist() & Boxplot()
- #177: Customise Your Plots in Pandas
- #178: Clean-up Your Data With Pandas
- #179: Explore Your Data With Pandas
- #188: Working With the NDC Talks Data
- #253: Unpivot DataFrames in Pandas With Melt
- #254: Rename Columns in Pandas
- #274: Working With Excel Files in Pandas
- #275: Print Pandas DataFrames as Markdown
- #152: Playwright for Python
- #153: Automate Browsers With Playwright
- #154: Figure Out Where Playwright Went Wrong
- #155: Download Jetpack Statistics With Playwright
- #156: Connect Playwright to BrowserStack and Selenium Grid
- #190: Interactive Plots With Plotly
- #191: Often used Diagrams for Plotly
- #192: Plotly-Specific Diagrams
- #193: Choosing Colours for Plotly
- #194: Templates for Plotly
- #195: Customise Your Plots in Plotly
- #196: Engine Troubles When Saving Plots With Plotly
- #197: Creating Interactive Dashboards With Dash
- #198: Multi-Component Dashboards with Dash
- #199: Adding Dash to an Existing Flask Application
- #147: End-To-End Tests With Selenium and Pytest
- #234: Database Tests for the FastAPI Application
- #239: Asynchronous Tests With Pytest
- #44: Start With Pytest
- #45: Show the Print() Output in the Test Summary
- #46: Testing Exceptions in Pytest
- #47: (Built-in) Fixtures in Pytest
- #49: Creating Your Own Fixtures for Pytest
- #50: Speed up Pytest With Markers
- #51: Parametrised Tests With Pytest
- #53: Code Coverage for Pytest
- #54: Create a Report for Your Test Results With Pytest
- #56: 3 Useful Command-Line Options for Pytest
- #60: Change the Look & Feel of Pytest With Pytest-Sugar
- #203: Is Your Python Version Still Maintained?
- #213: Tune the Garbage Collector
- #70: Keep Your Python Version up to Date
- #180: Explore Your Data With Seaborn
- #181: Making Sense of Your Data With Seaborn
- #182: Style Your Plots in Seaborn
- #188: Working With the NDC Talks Data
- #253: Unpivot DataFrames in Pandas With Melt
- #108: Getting Input From the Command Line
- #39: Form Validation for Your Flask App
- #43: Add Security Headers to Your Flask Application
- #142: First Steps With Selenium
- #143: Driver Manager for Selenium
- #144: Automate Browsers With Selenium (Part 1)
- #145: Automate Browsers With Selenium (Part 2)
- #146: Download Jetpack Statistics With Selenium
- #147: End-To-End Tests With Selenium and Pytest
- #148: Selenium Grid With Docker
- #149: Multiple Browsers in Selenium Grid
- #150: Create a Dynamic Selenium Grid
- #151: Create Videos With Selenium Grid
- #232: Update SQLAlchemy to Version 2.x
- #233: SQLAlchemy and FastAPI
- #234: Database Tests for the FastAPI Application
- #235: DB Migrations With Alembic and FastAPI
- #240: Asynchronous SQLAlchemy With FastAPI
- #73: First Steps with SQLAlchemy
- #74: Important Concepts in SQLAlchemy
- #75: CRUD With Raw SQL in SQLAlchemy Core
- #76: CRUD With Metadata in SQLAlchemy Core
- #77: Filters in SQLAlchemy Core
- #78: Relationship Patterns in SQLAlchemy Core
- #79: JOINs in SQLAlchemy Core
- #80: Creating the Foundation for SQLAlchemy ORM
- #81: CRUD in SQLAlchemy ORM
- #82: Filters in SQLAlchemy ORM
- #83: Relationship Patterns in SQLAlchemy ORM
- #84: Working With Relational Data in SQLAlchemy ORM
- #85: Eager Loading vs Lazy Loading in SQLAlchemy ORM
- #86: Database Migrations With Alembic and SQLAlchemy
- #87: Handling Pre-Existing Tables With Alembic and SQLAlchemy
- #88: Activate Batch Mode in Alembic to Work With Constraints in SQLite
- #89: Constraints, Indexes and Default Values in SQLAlchemy ORM
- #90: SQL Server Connection Strings for SQLAlchemy
- #91: Automap for SQLAlchemy ORM
- #92: Where to Start With SQLAlchemy
- #132: Rich Tables for Your Terminal Apps
- #137: HTTP With Requests
- #138: Parsing HTML With Beautiful Soup
- #139: Parse Sitemaps With Python
- #140: Create a Basic Link Checker
- #141: Read TLS/SSL Certificates in Python
- #157: Access Your Wi-Fi Passwords on Windows
- #159: Find the Missing C++ Build Tools
- #189: Visualize Text With a Word Cloud
- #296: Lint & Format Code With Ruff
- #297: Progress Bars Everywhere With Tqdm
- #298: Fancy Progress Bars With Alive-Progress
- #299: A Minimalistic FAQ Bot
- #31: HTTPie as a Curl Replacement
- #71: A Progress Bar for Your Python Script
- #93: Pretty Print for Python
- #98: Run Other Applications From Your Code
- #110: Accessing Twitter from Python
- #111: Twitter Authentication & Tweepy
- #112: How to Use Tweepy in Flask
- #113: Explore Friends and Followers With Tweepy
- #114: Debug Tweepy
- #115: Working With Twitter Lists in Tweepy
- #116: Search Twitter from Tweepy
- #117: Streaming Search Results With Tweepy
- #118: Block and Mute Accounts With Tweepy
- #119: Follow, Like and Retweet With Tweepy
- #131: Working With Bookmarks in Tweepy