F
Feed Atlas
OPML directory + server-side RSS reader

miguelgrinberg.com

SiteRSSBlogs
Back

Latest posts

  • SQLAlchemy 2 In Practice - Chapter 4 - Many-To-Many Relationships
    Apr 09, 2026Miguel Grinberg

    This is the fourth chapter of my SQLAlchemy 2 in Practice book. If you'd like to support my work, I encourage you to buy this book, either directly from my store or on Amazon. Thank you! Continuing with the topic of relationships, this chapter is dedicated to the many-to-many type, which as its name implies, is used when it is not possible to identify any of the sides as a "one" side.

  • SQLAlchemy 2 In Practice - Chapter 3 - One-To-Many Relationships
    Apr 02, 2026Miguel Grinberg

    This is the third chapter of my SQLAlchemy 2 in Practice book. If you'd like to support my work, I encourage you to buy this book, either directly from my store or on Amazon. Thank you! In the previous chapter you learned how to execute a variety of queries on the products table. Interestingly, some of those queries were designed to obtain product manufacturers and not products, and this required

  • SQLAlchemy 2 In Practice - Chapter 2 - Database Tables
    Mar 26, 2026Miguel Grinberg

    This is the second chapter of my SQLAlchemy 2 in Practice book. If you'd like to support my work, I encourage you to buy this book, either directly from my store or on Amazon. Thank you! This chapter provides an overview of the most basic usage of the SQLAlchemy library to create, update and query database tables.

  • SQLAlchemy 2 In Practice - Chapter 1 - Database Setup
    Mar 19, 2026Miguel Grinberg

    Welcome! This is the start of a journey which I hope will provide you with many new tricks to improve how you work with relational databases in your Python applications. Given that this is a hands-on book, this first chapter is dedicated to help you set up your system with a database, so that you can run all the examples and exercises. This is the first chapter of my SQLAlchemy 2 in Practice book.

  • Introduction to SQLAlchemy 2 In Practice
    Mar 12, 2026Miguel Grinberg

    In 2023 I wrote "SQLAlchemy 2 In Practice", a book in which I offer an in-depth look at SQLAlchemy version 2, still the current version today. SQLAlchemy is, for those who don't know, the most popular database library and Object-Request Mapper (ORM) for Python. I have a tradition of publishing my books on this blog to read for free, but this is one that I never managed to bring here, and starting

  • How to Host your Own Email Server
    Mar 06, 2026Miguel Grinberg

    I recently started a new platform where I sell my books and courses, and in this website I needed to send account related emails to my users for things such as email address verification and password reset requests. The reasonable option that is often suggested is to use a paid email service such as Mailgun or SendGrid. Sending emails on your own is, according to the Internet, too difficult. Becau

  • LLM Use in the Python Source Code
    Feb 28, 2026Miguel Grinberg

    There is a trick that is spreading through social media. If you block the claude user on GitHub, then each time you visit a GitHub repository that has commits by this user you get a banner at the top alerting you of the user's participation. It's an easy way to spot projects that have started to rely on coding agents, in this case on Claude Code specifically. Imagine the surprise when you see that

  • My Courses Site is Moving to a New Home
    Feb 15, 2026Miguel Grinberg

    This is a short blog post to announce that I'm migrating the site in which I host my paid courses to a new platform at https://learn.miguelgrinberg.com. If you have purchased a course or ebook directly from me, this article tells you how to transfer your account to the new site.

  • Date Arithmetic in Bash
    Feb 04, 2026Miguel Grinberg

    Date and time management libraries in many programming languages are famously bad. Python's datetime module comes to mind as one of the best (worst?) examples, and so does JavaScript's Date class. It feels like these libraries could not have been made worse on purpose, or so I thought until today, when I needed to implement some date calculations in a backup rotation script written in bash. So, if

  • How to Add a Quick Interactive Map to your Website
    Jan 29, 2026Miguel Grinberg

    In this article I want to share a technique that I recently learned to display an interactive map on a website. For this, you will need just a few lines of HTML and JavaScript. This solution does not require you to sign up for any accounts or services anywhere, it is completely free and open source, and can be integrated with any front or back end web framework. Give the demo below a try and if yo