Prisma Python

Dev tools

orm

SHOW HN2022

130points
87comments
#469of 2,570 in 2022
Top 19%of 2022 by points

How HN took it

DebatedReal support and real criticism

9 positive, 15 neutral or asking, 1 mixed, 10 critical, out of 35 comments about the project. Thread score 0.00.

Design: 4 for, 5 againstDocs: 1 for, 3 againstIdea: 3 for, 1 againstPerformance: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Type hints and autocomplete are valuable

    From 2 comments
    • Use whatever works for you! I personally felt the same until I learned of Prisma. The main benefits for me are type checking and autocomplete. Autocomplete is the big one as it…
      probablyrobert on HN
    • I use Prisma typescript daily and love it. It's fast to write complex queries and readable joins. The type hints are well documented and custom generated for your models and…
      crucialfelix on HN
  • Built on battle-tested Prisma core

    From 1 comment
    • > Prisma, a next-generation ORM for TypeScript which means that the core query building and connection handling has been battle tested, getting around a potential concern with…
      cabalamat on HN

Objections

  • Query DSL is verbose compared to SQL

    From 2 comments
    • How is this DSL acceptable? ``` posts = await client.post.find_many( where= { 'OR': [ {'title': {'contains': 'prisma'}}, {'content': {'contains': 'prisma'}}, ] } ) ``` SQL for…
      inshadows on HN
    • Try making an apples to apples comparison. You neglected to write the SELECT, which would typically not be as simple as "SELECT * from post". You neglected to write the code to…
      mypalmike on HN
  • Performance is slow and rests on HTTP to Rust engine

    From 2 comments
    • I haven't written benchmarks yet but it is something I am working on. The reason that performance is mentioned in the README is that I haven't spent time on improving it yet. The…
      probablyrobert on HN
    • What is the Rust engine doing here? How come GitHub doesn't highlight any Rust code in the project repo?
      anentropic on HN
  • Too early to adopt until 1.0

    From 1 comment
    • This looks promising. Using prisma both in TypeScript app backends and in Python data pipelines would make switching between the two without much cognitive overhead much easier.…
      lytefm on HN

Requests

  • Document what ORM means and Rust core in README

    From 3 comments
    • Might want to explain in the README that Prisma's core is written in Rust. You don't need to install an entire JS stack to use this.
      melony on HN
    • Nowhere is the acronym ORM explained, let alone how it can benefit Python programmers.
      WaitWaitWha on HN
    • > Prisma, a next-generation ORM for TypeScript which means that the core query building and connection handling has been battle tested, getting around a potential concern with…
      cabalamat on HN
  • Pure Python option without Rust binaries

    From 1 comment
    • Given the state of PyPi these days and third party packages, I would just prefer to have pure python, even if it is slower. It means I don't have to worry about things breaking…
      bb88 on HN
  • Benchmarks

    From 1 comment
    • This looks really cool. I might have to try it for my current project. Question: The Readme says there's room for massive improvement in performance. What's the performance like…
      bckr on HN

Questions

  • How does it compare to SQLModel and SQLAlchemy

    From 2 comments
    • Seems to solve the same problem as SQLModel. From [1]: "SQLModel is a library for interacting with SQL databases from Python code, with Python objects. It is designed to be…
      klft on HN
    • fully typed? it used dicts for queryinb - should maybe look at sqlalchemy for comparison
      mdellavo on HN
  • How does it compare to EdgeDB

    From 1 comment
    • How does Prisma compare to EdgeDB? Pros and cons? I have limited experiences with DBs and ORMs, but EdgeDB looks very interesting.
      messo on HN

Alternatives named

  • SQLModel

    From 1 comment
    • Seems to solve the same problem as SQLModel. From [1]: "SQLModel is a library for interacting with SQL databases from Python code, with Python objects. It is designed to be…
      klft on HN
  • SQLAlchemy

    From 2 comments
    • My understanding is that this is exactly what SQLModel adds on top of SQLAlchemy. statement = select(Hero).where(Hero.age > 32).limit(3) But I am only halfway through the…
      klft on HN
    • fully typed? it used dicts for queryinb - should maybe look at sqlalchemy for comparison
      mdellavo on HN
  • Entity Framework

    From 1 comment
    • Entity Framework allows you to do that (if you are coding for .NET). It is the best ORM I've encountered. The option to do it is called "Code First from Database".
      camdenreslink on HN
  • MikroORM

    From 1 comment
    • MikroORM can also auto generate schema from an existing database
      dpacmittal on HN
  • EdgeDB

    From 1 comment
    • How does Prisma compare to EdgeDB? Pros and cons? I have limited experiences with DBs and ORMs, but EdgeDB looks very interesting.
      messo on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/30416531)