4 ms·
Are there any large sites that use Django Ninja? I've been using DRF for about a decade and there hasn't been a moment of enjoyment or ease. I adore Django but
by miiiiiike 3y ago
Are there any large sites that use Django Ninja?
I've been using DRF for about a decade and there hasn't been a moment of enjoyment or ease. I adore Django but wish it had an official REST contrib package. [0] With DRF dragging its feet on async (leaving it to a third-party library) I just want to quit.
I'm building a new async api soon, are there any Django Ninja case studies? I can't find anything.
[0]: Using Django..
Me in 2008 — "How do I get data from a PUT/PATCH request without a library?"
Me in 2023 — "How do I get data from a PUT/PATCH request without a library?"
- megaman821 3y agoDjango Ninja just hit 1.0 a few weeks ago. I think you are going to have to be patient to find large sites using it in production.
- miiiiiike 3y agoI've never heard of anyone using it in production, period. The one thing FastAPI had going for it back when it was announced was a list of companies and groups with it deployed that minute. Is it a "1.0 because we think it's done and you should try using it now. Maybe it'll work." Or "This is a solid 1.0 that has been tested in production. You can expect reasonable api stability." FastAPI launched with option three: "We're going to get our friends to use it in production so we can say it's deployed by Microsoft, but, this is definitely a pre-alpha."
- megaman821 3y agoI am using it myself on a branch I haven't pushed to production. I would say DRF has better documentation and more packages that extend its behavior (like exporting to Excel). Ninja is a lot cleaner though, it works better with type checkers, and if you are also using FastAPI there is basically no learning curve.
- miiiiiike 3y agoDjango Ninja has always looked beautiful. I've been toying with it since it was first announced, never pushed it to production tho. I've been thinking of spinning up a cluster just to dark launch it with calls from my main app to see how it performs.
- nrjames 3y agoNot a large site, but I used django-ninja in production for internal tooling at a very large game dev/publishing company. The APIs routinely handle 1000s of calls (via an integration with Dagster) for moving large amounts of data around and into a reporting system. It's rock solid and fast. I'm on v0.22 however and need to do some refactoring to move to 1.0 because of changes to the integration with Pydantic. It is so easy to set up and use and it's at worth giving it a spin if you're curious.
- miiiiiike 3y agoThanks. 1,000s of calls a second/minute/day?
- nrjames 3y agoBecause of the integration with Dagster, the calls are made when my Dagster flows run. I also send unreasonably large data payloads. Anything going into Django gets handed to a Celery batch processing job and just returns the job id (Dagster monitors for failure, too). Data pulled out of Django is paginated. Sometimes it's 1000s of calls per minute, sometimes it's none at all for hours. I realize this isn't a normal use case, though. :)
- miiiiiike 3y agoThanks.
- jerrygenser 3y agoIt is 1.0 only because of supporting pydantic 2.0. It's not 1.0 because it's done and you should try to use it. In fact, 1.0 is unstable I don't recommend upgrading if you are running django ninja in production
- miiiiiike 3y agoThere we go! Thanks, that’s the sense I got.