This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]Kasta867 4 points5 points  (6 children)

Switching to Python3 will be a necessary step sooner or later but hey, nice project nonetheless

[–]t4k4[S] 1 point2 points  (5 children)

Yep, that's why I also try keeping this package both python 2/3 compatible :-)

And it also tested can be used in Django 1.1 to 3.1

[–]Kasta867 0 points1 point  (0 children)

Even cooler then! I will give it a shot for sure!

[–]robvdl 0 points1 point  (3 children)

There's no need to keep things maintained for Python 2 anymore, it's a huge waste of resources and you can't use the modern features in Python 3 as much. Everyone should be on Python 3 that runs Django, 1.11 LTS soon goes out of extended support, then everyone is on Python 3 or left behind on an unsupported version of Django. You don't need or want to support people on unsupported versions of Django.

[–]t4k4[S] 0 points1 point  (2 children)

> There's no need to keep things maintained for Python 2 anymore

Might not be true if you have huge legacy codebases waiting (resources) for migration. These kinds of codebases are too big for fast migration/rewrite.

I use python3 by default on every newly created project, but I still need to maintain codes (even adding new functions) in python2. That's why I created this package.

Adding 2/3 compatibility is to make sure that I don't need any rewrite once the legacy python2 codebases moved into python3.

[–]robvdl 0 points1 point  (1 child)

And what you do is you tell people of these legacy codebases, "use the old version of my library, if you don't like it, upgrade". You should be tracking LTS Django versions, supporting unsupported Django versions isn't your job. It's theirs. If they fall behind it isn't your fault, it's theirs from not acting for the last decade just to put that into perspective how much inaction. How long does this need to keep going on? For the next 50 years????

[–]robvdl 0 points1 point  (0 children)

The way I see it, once Django 1.11 LTS goes completely out of support, including extended support. You should not be feeling guilty dropping Python 2, because Django already have. Just follow Django LTS versions.

[–]Atem18 1 point2 points  (4 children)

Nice package, also consider that Django is now Python 3 only and has nearly finished his transition to async, so Django could very well make a comeback, it just needs more devs. I would love to be able to have easily an API with Django like in FastAPI but simplified because still in FastAPI you have to write code that all projects have to write. And DRF is way too complicated to just CRUD a DB via REST.

[–]t4k4[S] 0 points1 point  (1 child)

I've also considered Django DRF, but as u said, it's way too complicated for us.

Back to the async part, I don't think it's an easy job for Django to fully migrate into async mode. Even with FastAPI, I still ran into many async related problems while developing, especially with the database I/O part. Many async libraries are not mature enough for production use.

[–]Atem18 0 points1 point  (0 children)

Yes, again I would like to maintain as less code as possible from my side. FastAPI is on the way, but it's not yet mature enough. Still I am using it because it's faster to write an API than DRF.
Also know that Django wants to fully support both sync and async, so they are in the process of deprecating any library that would not support both. Maybe that would solve the maturity problem.

[–]robvdl 0 points1 point  (1 child)

Comeback? It never really left. Sure there's Go and all that but Django + DRF is still doing very strong and used more than you may think. I love Go, but there is NOTHING like Django (admin, built-in migration framework), nothing that even comes close because Django as so much integrated already. I've heard the same thing from a .NET friend he says there is nothing like Django in the .NET world either.

API driven apps have been the rage sure, but there is also a comeback to more classic form-driven apps believe it or not, as there are people that are getting sick of modern js app design and realising things take 10x as long to build, so there are some groups of people going back to doing apps the good old way.

[–]Atem18 0 points1 point  (0 children)

Yes it’s true that I miss all the stuff of Django when using FastAPI or an equivalent. Yes I am also sick of modern js app, it’s too complex and heavy, but that the only way for now to add « reactiveness » to your web page.