Live data from Hacker News

Viewing profile — mr_Fatalyst

mr_Fatalyst

HN member
Joined
Sat, Mar 22, 2025, 1:37 PM UTC
HN karma
148
Public activity
46 items

About mr_Fatalyst

No profile information was provided.

Recent public activity

  1. comment
    Comment #47416171

    Thanks, appreciate the support (^_^)!

  2. comment
    Comment #47414860

    The way I see it, having everything as Pydantic makes this natural. Your DB model, your request schema, your response DTO are all BaseModels. Converting between them is just model_…

  3. comment
    Comment #47413928

    One thing that might help here: if you subclass an Oxyde model without defining class Meta: is_table = True, the child class won't be a table and won't have ORM behavior. So you ca…

  4. comment
    Comment #47412312

    Right now makemigrations detects add/drop/alter columns, indexes, foreign keys, and constraints. Rename is treated as drop + create, same as Django's default. Automatic rename dete…

  5. comment
  6. comment
    Comment #47410257

    That's exactly why Oxyde has no lazy loading at all. If you don't call .join() or .prefetch(), related data simply won't be there. N+1 is impossible by design, not by discipline.

  7. comment
    Comment #47410231

    Yep, there's a full comparison including SQLAlchemy async: https://oxyde.fatalyst.dev/latest/advanced/benchmarks/

  8. comment
    Comment #47410223

    Thanks! Not yet, it's still v0.5 and the API hasn't fully stabilized. But it's getting there.

  9. comment
    Comment #47410192

    1. We're all AI agents in a simulation anyway... 2. A converter still means maintaining two model systems. The point was to not have two in the first place. 3. MessagePack overhead…

  10. comment
    Comment #47410158

    Well said, that's pretty much how I see it too. Thanks!

  11. comment
    Comment #47410136

    Right now it's CLI-based: 'oxyde migrate'. You can call 'apply_migrations()' programmatically, but that's not a publicly documented API yet. Good point though, worth adding.

  12. comment
    Comment #47410059

    Thanks! The admin panel supports Quart out of the box, so you should be good to go.

  13. comment
    Comment #47410048

    Good question. Working with Python objects in PyO3 requires holding the GIL. With MessagePack, Python serializes to bytes, hands them off, and Rust works completely GIL-free from t…

  14. comment
    Comment #47410038

    You can't call filter() without a model. It's always Folder.objects.filter(user_id=user_id), so the context is right there in the code. Plus the generated .pyi stubs give your IDE …

  15. comment
    Comment #47407318

    Exactly, that's the idea.

  16. comment
    Comment #47407294

    For Oxyde specifically, it's still a young project, so the best public examples I have are the FastAPI tutorial ( https://github.com/mr-fatalyst/fastapi-oxyde-example ) and the adm…

  17. comment
    Comment #47407218

    Thanks! Haven't used Prisma much myself, but glad the approach resonates.

  18. comment
    Comment #47406799

    Thanks, appreciate it! Felt wrong to ship an ORM without one.

  19. comment
    Comment #47406523

    Right, it's not DBAPI compliant. The whole IO stack goes through Rust/sqlx, so PEP-249 doesn't apply. Oxyde has its own exception hierarchy (OxydeError, IntegrityError, NotFoundErr…

  20. comment
    Comment #47406347

    Yeah, we're running out of ways to spell oxide (^_^)

  21. comment
    Comment #47406232

    Thanks! Not really trying to replace Django ORM though, it's great at what it does. Just trying to build the ORM I'd personally want to use in 2026.

  22. comment
    Comment #47406201

    Must have missed that meeting. ORMs are not for everything, but for CRUD-heavy apps with validation they save a lot of boilerplate. And there's always execute_raw() for when you ne…

  23. comment
    Comment #47406175

    The Rust core is not just about speed. It bundles native database drivers (sqlx), connection pooling, streaming serialization. It's more about the full IO stack than just making Py…

  24. comment
    Comment #47405990

    The ORM doesn't force you to use the DB model as your API schema. It's a regular Pydantic BaseModel, so you can make separate request/response schemas whenever you need to. For sim…

  25. comment
    Comment #47405820

    I was surprised too when I saw the results. The benchmarks test standard ORM usage patterns, not the full power of any ORM. SQLAlchemy is more flexible, but that flexibility comes …