Alternatives to SQLAlchemy logo

Alternatives to SQLAlchemy

Django, Pandas, Entity Framework, peewee, and MySQL are the most popular alternatives and competitors to SQLAlchemy.
1.5K
497
+ 1
7

What is SQLAlchemy and what are its top alternatives?

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 891 GitHub forks. Here’s a link to SQLAlchemy's open source repository on GitHub

Top Alternatives to SQLAlchemy

  • Django
    Django

    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...

  • Pandas
    Pandas

    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
    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. ...

  • peewee
    peewee

    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. ...

  • MySQL
    MySQL

    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. ...

  • Hibernate
    Hibernate

    Hibernate is a suite of open source projects around domain models. The flagship project is Hibernate ORM, the Object Relational Mapper. ...

  • Prisma
    Prisma

    Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript & Node.js. ...

  • Sequelize
    Sequelize

    Sequelize is a promise-based ORM for Node.js and io.js. It supports the dialects PostgreSQL, MySQL, MariaDB, SQLite and MSSQL and features solid transaction support, relations, read replication and more. ...

SQLAlchemy alternatives & related posts

Django logo

Django

36.7K
33.2K
4.2K
The Web framework for perfectionists with deadlines
36.7K
33.2K
+ 1
4.2K
PROS OF DJANGO
  • 669
    Rapid development
  • 486
    Open source
  • 423
    Great community
  • 378
    Easy to learn
  • 275
    Mvc
  • 231
    Beautiful code
  • 222
    Elegant
  • 205
    Free
  • 202
    Great packages
  • 193
    Great libraries
  • 78
    Restful
  • 78
    Comes with auth and crud admin panel
  • 77
    Powerful
  • 74
    Great documentation
  • 70
    Great for web
  • 56
    Python
  • 42
    Great orm
  • 40
    Great for api
  • 31
    All included
  • 27
    Fast
  • 24
    Web Apps
  • 22
    Easy setup
  • 22
    Clean
  • 20
    Used by top startups
  • 19
    Sexy
  • 18
    ORM
  • 14
    The Django community
  • 14
    Convention over configuration
  • 13
    Allows for very rapid development with great libraries
  • 11
    King of backend world
  • 10
    Great MVC and templating engine
  • 9
    Full stack
  • 7
    Batteries included
  • 7
    Its elegant and practical
  • 7
    Mvt
  • 7
    Fast prototyping
  • 6
    Very quick to get something up and running
  • 6
    Easy to develop end to end AI Models
  • 6
    Cross-Platform
  • 6
    Have not found anything that it can't do
  • 5
    Zero code burden to change databases
  • 5
    Easy Structure , useful inbuilt library
  • 5
    Python community
  • 4
    Many libraries
  • 4
    Modular
  • 4
    Easy to use
  • 4
    Easy
  • 4
    Map
  • 4
    Easy to change database manager
  • 4
    Great peformance
  • 3
    Full-Text Search
  • 3
    Just the right level of abstraction
  • 3
    Scaffold
  • 1
    Great default admin panel
  • 1
    Fastapi
  • 1
    Scalable
  • 1
    Built in common security
  • 1
    Node js
  • 1
    Gigante ta
  • 0
    Rails
CONS OF DJANGO
  • 26
    Underpowered templating
  • 22
    Autoreload restarts whole server
  • 22
    Underpowered ORM
  • 15
    URL dispatcher ignores HTTP method
  • 10
    Internal subcomponents coupling
  • 8
    Not nodejs
  • 8
    Configuration hell
  • 7
    Admin
  • 5
    Not as clean and nice documentation like Laravel
  • 4
    Python
  • 3
    Not typed
  • 3
    Bloated admin panel included
  • 2
    Overwhelming folder structure
  • 2
    InEffective Multithreading
  • 1
    Not type safe

related Django posts

Dmitry Mukhin
Engineer at Uploadcare · | 25 upvotes · 2.4M views

Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

See more

Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

See more
Pandas logo

Pandas

1.7K
1.3K
23
High-performance, easy-to-use data structures and data analysis tools for the Python programming language
1.7K
1.3K
+ 1
23
PROS OF PANDAS
  • 21
    Easy data frame management
  • 2
    Extensive file format compatibility
CONS OF PANDAS
    Be the first to leave a con

    related Pandas posts

    Server side

    We decided to use Python for our backend because it is one of the industry standard languages for data analysis and machine learning. It also has a lot of support due to its large user base.

    • Web Server: We chose Flask because we want to keep our machine learning / data analysis and the web server in the same language. Flask is easy to use and we all have experience with it. Postman will be used for creating and testing APIs due to its convenience.

    • Machine Learning: We decided to go with PyTorch for machine learning since it is one of the most popular libraries. It is also known to have an easier learning curve than other popular libraries such as Tensorflow. This is important because our team lacks ML experience and learning the tool as fast as possible would increase productivity.

    • Data Analysis: Some common Python libraries will be used to analyze our data. These include NumPy, Pandas , and matplotlib. These tools combined will help us learn the properties and characteristics of our data. Jupyter notebook will be used to help organize the data analysis process, and improve the code readability.

    Client side

    • UI: We decided to use React for the UI because it helps organize the data and variables of the application into components, making it very convenient to maintain our dashboard. Since React is one of the most popular front end frameworks right now, there will be a lot of support for it as well as a lot of potential new hires that are familiar with the framework. CSS 3 and HTML5 will be used for the basic styling and structure of the web app, as they are the most widely used front end languages.

    • State Management: We decided to use Redux to manage the state of the application since it works naturally to React. Our team also already has experience working with Redux which gave it a slight edge over the other state management libraries.

    • Data Visualization: We decided to use the React-based library Victory to visualize the data. They have very user friendly documentation on their official website which we find easy to learn from.

    Cache

    • Caching: We decided between Redis and memcached because they are two of the most popular open-source cache engines. We ultimately decided to use Redis to improve our web app performance mainly due to the extra functionalities it provides such as fine-tuning cache contents and durability.

    Database

    • Database: We decided to use a NoSQL database over a relational database because of its flexibility from not having a predefined schema. The user behavior analytics has to be flexible since the data we plan to store may change frequently. We decided on MongoDB because it is lightweight and we can easily host the database with MongoDB Atlas . Everyone on our team also has experience working with MongoDB.

    Infrastructure

    • Deployment: We decided to use Heroku over AWS, Azure, Google Cloud because it is free. Although there are advantages to the other cloud services, Heroku makes the most sense to our team because our primary goal is to build an MVP.

    Other Tools

    • Communication Slack will be used as the primary source of communication. It provides all the features needed for basic discussions. In terms of more interactive meetings, Zoom will be used for its video calls and screen sharing capabilities.

    • Source Control The project will be stored on GitHub and all code changes will be done though pull requests. This will help us keep the codebase clean and make it easy to revert changes when we need to.

    See more

    Should I continue learning Django or take this Spring opportunity? I have been coding in python for about 2 years. I am currently learning Django and I am enjoying it. I also have some knowledge of data science libraries (Pandas, NumPy, scikit-learn, PyTorch). I am currently enhancing my web development and software engineering skills and may shift later into data science since I came from a medical background. The issue is that I am offered now a very trustworthy 9 months program teaching Java/Spring. The graduates of this program work directly in well know tech companies. Although I have been planning to continue with my Python, the other opportunity makes me hesitant since it will put me to work in a specific roadmap with deadlines and mentors. I also found on glassdoor that Spring jobs are way more than Django. Should I apply for this program or continue my journey?

    See more
    Entity Framework logo

    Entity Framework

    604
    231
    19
    An object-relational mapper that enables .NET developers to work with relational data
    604
    231
    + 1
    19
    PROS OF ENTITY FRAMEWORK
    • 6
      LINQ
    • 3
      Object Oriented
    • 3
      Strongly Object-Oriented
    • 2
      Multiple approach (Model/Database/Code) first
    • 2
      Code first approach
    • 1
      Auto generated code
    • 1
      Model first approach
    • 1
      Strongly typed entities
    • 0
      Database first
    CONS OF ENTITY FRAMEWORK
      Be the first to leave a con

      related Entity Framework posts

      peewee logo

      peewee

      48
      105
      19
      A small, expressive ORM -- supports postgresql, mysql and sqlite
      48
      105
      + 1
      19
      PROS OF PEEWEE
      • 7
        Easy to start
      • 4
        Free
      • 4
        High Performance
      • 4
        Open Source
      CONS OF PEEWEE
        Be the first to leave a con

        related peewee posts

        MySQL logo

        MySQL

        121.4K
        102.6K
        3.7K
        The world's most popular open source database
        121.4K
        102.6K
        + 1
        3.7K
        PROS OF MYSQL
        • 800
          Sql
        • 678
          Free
        • 561
          Easy
        • 527
          Widely used
        • 488
          Open source
        • 180
          High availability
        • 160
          Cross-platform support
        • 104
          Great community
        • 78
          Secure
        • 75
          Full-text indexing and searching
        • 25
          Fast, open, available
        • 16
          SSL support
        • 15
          Reliable
        • 14
          Robust
        • 8
          Enterprise Version
        • 7
          Easy to set up on all platforms
        • 2
          NoSQL access to JSON data type
        • 1
          Relational database
        • 1
          Easy, light, scalable
        • 1
          Sequel Pro (best SQL GUI)
        • 1
          Replica Support
        CONS OF MYSQL
        • 16
          Owned by a company with their own agenda
        • 3
          Can't roll back schema changes

        related MySQL posts

        Tim Abbott

        We've been using PostgreSQL since the very early days of Zulip, but we actually didn't use it from the beginning. Zulip started out as a MySQL project back in 2012, because we'd heard it was a good choice for a startup with a wide community. However, we found that even though we were using the Django ORM for most of our database access, we spent a lot of time fighting with MySQL. Issues ranged from bad collation defaults, to bad query plans which required a lot of manual query tweaks.

        We ended up getting so frustrated that we tried out PostgresQL, and the results were fantastic. We didn't have to do any real customization (just some tuning settings for how big a server we had), and all of our most important queries were faster out of the box. As a result, we were able to delete a bunch of custom queries escaping the ORM that we'd written to make the MySQL query planner happy (because postgres just did the right thing automatically).

        And then after that, we've just gotten a ton of value out of postgres. We use its excellent built-in full-text search, which has helped us avoid needing to bring in a tool like Elasticsearch, and we've really enjoyed features like its partial indexes, which saved us a lot of work adding unnecessary extra tables to get good performance for things like our "unread messages" and "starred messages" indexes.

        I can't recommend it highly enough.

        See more
        Conor Myhrvold
        Tech Brand Mgr, Office of CTO at Uber · | 23 upvotes · 2.3M views

        Our most popular (& controversial!) article to date on the Uber Engineering blog in 3+ yrs. Why we moved from PostgreSQL to MySQL. In essence, it was due to a variety of limitations of Postgres at the time. Fun fact -- earlier in Uber's history we'd actually moved from MySQL to Postgres before switching back for good, & though we published the article in Summer 2016 we haven't looked back since:

        The early architecture of Uber consisted of a monolithic backend application written in Python that used Postgres for data persistence. Since that time, the architecture of Uber has changed significantly, to a model of microservices and new data platforms. Specifically, in many of the cases where we previously used Postgres, we now use Schemaless, a novel database sharding layer built on top of MySQL (https://eng.uber.com/schemaless-part-one/). In this article, we’ll explore some of the drawbacks we found with Postgres and explain the decision to build Schemaless and other backend services on top of MySQL:

        https://eng.uber.com/mysql-migration/

        See more
        Hibernate logo

        Hibernate

        1.5K
        1.1K
        33
        Idiomatic persistence for Java and relational databases.
        1.5K
        1.1K
        + 1
        33
        PROS OF HIBERNATE
        • 22
          Easy ORM
        • 8
          Easy transaction definition
        • 3
          Is integrated with spring jpa
        CONS OF HIBERNATE
        • 3
          Can't control proxy associations when entity graph used

        related Hibernate posts

        Prisma logo

        Prisma

        1K
        919
        54
        Modern Database Access for TypeScript & Node.js
        1K
        919
        + 1
        54
        PROS OF PRISMA
        • 12
          Type-safe database access
        • 10
          Open Source
        • 8
          Auto-generated query builder
        • 6
          Supports multible database systems
        • 6
          Increases confidence during development
        • 4
          Built specifically for Postgres and TypeScript
        • 4
          Productive application development
        • 2
          Supports multible RDBMSs
        • 2
          Robust migrations system
        CONS OF PRISMA
        • 2
          Doesn't support downward/back migrations
        • 1
          Doesn't support JSONB
        • 1
          Do not support JSONB
        • 1
          Mutation of JSON is really confusing
        • 1
          Do not support JSONB

        related Prisma posts

        Divine Bawa
        at PayHub Ghana Limited · | 16 upvotes · 480.8K views

        I just finished a web app meant for a business that offers training programs for certain professional courses. I chose this stack to test out my skills in graphql and react. I used Node.js , GraphQL , MySQL for the #Backend utilizing Prisma as a database interface for MySQL to provide CRUD APIs and graphql-yoga as a server. For the #frontend I chose React, styled-components for styling, Next.js for routing and SSR and Apollo for data management. I really liked the outcome and I will definitely use this stack in future projects.

        See more
        Collins Ogbuzuru
        Front-end dev at Evolve credit · | 11 upvotes · 23.5K views
        Shared insights
        on
        GraphQLGraphQLPrismaPrismaAWS LambdaAWS Lambda

        We are starting to build one shirt data logic, structure and as an online clothing store we believe good ux and ui is a goal to drive a lot of click through. The problem is, how do we fetch data and how do we abstract the gap between the Front-end devs and backend-devs as we are just two in the technical unit. We decided to go for GraphQL as our application-layer tool and Prisma for our database-layer abstracter.

        Reasons :

        GraphQL :

        1. GraphQL makes fetching of data less painful and organised.

        2. GraphQL gives you 100% assurance on data you getting back as opposed to the Rest design .

        3. GraphQL comes with a bunch of real-time functionality in form of. subscriptions and finally because we are using React (GraphQL is not React demanding, it's doesn't require a specific framework, language or tool, but it definitely makes react apps fly )

        Prisma :

        1. Writing revolvers can be fun, but imagine writing revolvers nested deep down, curry braces flying around. This is sure a welcome note to bugs and as a small team we need to focus more on what that matters more. Prisma generates this necessary CRUD resolves, mutations and subscription out of the box.

        2. We don't really have much budget at the moment so we are going to run our logic in a scalable cheap and cost effective cloud environment. Oh! It's AWS Lambda and deploying our schema to Lambda is our best bet to minimize cost and same time scale.

        We are still at development stage and I believe, working on this start up will increase my dev knowledge. Off for Lunch :)

        See more
        Sequelize logo

        Sequelize

        849
        1.4K
        142
        Easy-to-use multi SQL dialect ORM for Node.js
        849
        1.4K
        + 1
        142
        PROS OF SEQUELIZE
        • 42
          Good ORM for node.js
        • 31
          Easy setup
        • 21
          Support MySQL & MariaDB, PostgreSQL, MSSQL, Sqlite
        • 14
          Open source
        • 13
          Free
        • 11
          Promise Based
        • 4
          Recommend for mongoose users
        • 3
          Typescript
        • 3
          Atrocious documentation, buggy, issues closed by bots
        CONS OF SEQUELIZE
        • 30
          Docs are awful
        • 10
          Relations can be confusing

        related Sequelize posts

        Dieudonné ALLOGNON
        Junior Fullstack Developer · | 5 upvotes · 323.9K views

        Hey! I am actually in internship and have an app to create for my structure. It will be an intern app which will allow crud dashboard actions with some data provided by the use of an API of one of the structure partner and make a correspondence to data contained in a private database. Since it's an intern app, I thought about Electron for a desktop app because I did a lot of web with Laravel and the structure goes more for the desktop app. But it will be my first occasion working with this tech.

        Is Electron a good choice? Wich ORM should be more complete and adapted to this between Sequelize and TypeORM? (Database will be MySQL) Some charts will be displayed in the app. Is there a library (preferably without jQuery) that suits this stack?

        Thank you !

        See more
        Vyshnav KPI
        Application Developer at KPI suite tech · | 4 upvotes · 123.4K views
        Shared insights
        on
        SequelizeSequelizePrismaPrisma

        Can you help me with the following:

        1. What additional functionality is present in Prisma when compared with Sequelize?
        2. Is getter and setter method available in Prisma? If then please provide any reference or resource.
        3. Is Hooks, hierarchy present in Prisma?
        See more