SQLAlchemy logo


The Python SQL Toolkit and Object Relational Mapper
+ 1

What is SQLAlchemy?

SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.
SQLAlchemy is a tool in the Object Relational Mapper (ORM) category of a tech stack.
SQLAlchemy is an open source tool with 3.5K GitHub stars and 892 GitHub forks. Here’s a link to SQLAlchemy's open source repository on GitHub

Who uses SQLAlchemy?

103 companies reportedly use SQLAlchemy in their tech stacks, including yogiyo, Hivestack, and Buzzvil.

510 developers on StackShare have stated that they use SQLAlchemy.

SQLAlchemy Integrations

Python, TimescaleDB, Faust, Nameko, and GreenDAO are some of the popular tools that integrate with SQLAlchemy. Here's a list of all 10 tools that integrate with SQLAlchemy.
Pros of SQLAlchemy
Open Source
Decisions about SQLAlchemy

Here are some stack decisions, common use cases and reviews by companies and developers who chose SQLAlchemy in their tech stack.

Needs advice

Hello everybody! I want to create an easy to use website (and simplified) builder. Users create a site, add their domain and edit Pages inside an Admin Area inside predefined "Blocks" like with Wagtail.

There should be several default templates/themes and layouts. Choosing a different theme might change both the layout and styling. And I'm looking for SSR or SSG with a focus on the end-user's Page performance.

Current Stack:

  • GraphQL for the dynamic part (for example data to Pricing might not be required on the homepage, or images might go into gallery in one theme, and on the homepage in another theme)

  • FastAPI and SQLAlchemy to store Data. I have prior experience with Wagtail and Django and want to stay with Python and learn Fastapi

  • NGINX to handle domain-specific things (the how is not yet refined)

I want a scalable architecture and especially a fast frontend. I'm tending to use SvelteKit, but I'm afraid that the dynamic part won't make me happy after having hundreds of sites, as the bundler cannot load themes dynamically. sveltekit - dynamic import

I want to handle the scenario: Admin-User chooses a theme and other options for the site (domain) and the End-User Frontend/Session/Cookie will have to fetch and store data about the theme and load subsequent calls to prerendered sites.

Also the "hundreds of sites" might not be all covered by 5 Themes, because users may purchase a custom-made theme, and I would have to manage one big project having lots of different Styleguides and flows. I even thought of statically building the site whenever the user makes a change, maybe using Hugo (or VitePress?). Then I would have to take more care with the page recreation and it would be easily routable instead of nesting every component with logic in the frontend... I think. But this I haven't thought through yet.

Can anyone please help?

See more
Nikola Tokic
Needs advice

I'm considering moving from Flask to Quart, does anyone have some experience with this migration?

I expect possible problems with connexion which we use as OpenAPI specification.

Would be good if someone can point downsides of moving to the Quart framework so I can double-check if my plan is worth doing.

Other libs and tools used in the project: SQLAlchemy, alembic, PostgreSQL, Datadog

cons for now:

  • Refactoring uncertainty (not sure how big of a task is it)
  • Connexion might not work with Quart (moving to another library)
  • ...
See more

SQLAlchemy Alternatives & Comparisons

What are some alternatives to SQLAlchemy?
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more.
Entity Framework
It is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write.
A small, expressive orm, written in python (2.6+, 3.2+), with built-in support for sqlite, mysql and postgresql and special extensions like hstore.
The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
See all alternatives

SQLAlchemy's Followers
500 developers follow SQLAlchemy to keep up with related blogs and decisions.