Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minium django & python versions supported #103

Open
telenieko opened this issue Jun 3, 2019 · 17 comments
Open

Minium django & python versions supported #103

telenieko opened this issue Jun 3, 2019 · 17 comments

Comments

@telenieko
Copy link
Collaborator

Documentation says Django 1.8, setup.py says nothing, requirements.txt says 1.11.18

It looks that the bare minimum would be 2.0, otherwise utils.py cannot load (imports django.urls which is >= 2.0)

@telenieko
Copy link
Collaborator Author

Note that if 2.0 is the minimum, a note should be put somewhere "this is a python 3 package only!" (tox.ini is currently misleading on that)

@oscarmlage
Copy link
Owner

IIRC there are two branches, the master one for py2 and django1.x and another branch called python3 where I was trying to clean up all the dependencies that were not properly ported to python3 (plus the django version and some other external libraries). So yes, TBH right now there is a big mess tween setup.py and requirements.txt.

About the tox.ini, I've done a little test with tox but in the end never finished the job, so don't trust so much in the ini.

The work in the python3 branch was not complete at all, lot of stuff changing so your pull requests are very appreciated. I'll take a deep look to them, thank you so much.

@telenieko
Copy link
Collaborator Author

About the tox.ini, I've done a little test with tox but in the end never finished the job, so don't trust so much in the ini.

The work in the python3 branch was not complete at all, lot of stuff changing so your pull requests are very appreciated. I'll take a deep look to them, thank you so much.

I created PR #104 which updates the tox.ini and cleans up the setup.py & requirements.txt a little. Also PR #105 adds CircleCI builds.

On versions, do you have any specific targets? Could we set Python >=3.7 and Django>=2.2 (lts) as desired minimums for the python3 branch? I'd update #104 accordingly

@oscarmlage
Copy link
Owner

On versions, do you have any specific targets? Could we set Python >=3.7 and Django>=2.2 (lts) as desired minimums for the python3 branch? I'd update #104 accordingly

Yep, Python >=3.7 and Django>=2.2 seems to be a right spot to start on. Thank you @telenieko

@luisza
Copy link
Contributor

luisza commented Jun 4, 2019

Hi, I disaggree, Django 2.2 is not launched yet so last release is 2.1.9. Also Django 2.1 supports Python 3.5, 3.6, and 3.7.
This has a lot of sence because distributions on Linux (Debian and centos) comes with 3.5 o 3.6 so I Suggest start support to python 3.6 and 3.7 also if not represent a lot of work support 3.5.
We need to focus on LTS versions of Django so beta is not a good idea, but I also know that the effort of code to next LTS has awards in the future

@telenieko
Copy link
Collaborator Author

Hi, I disaggree, Django 2.2 is not launched yet

The latest official Django release is 2.2.2, 2.2 was released on April 1st and is an LTS release.

Note that we are mainly talking about the python3 branch which is not released so there is a chance for a clean slate on backwards compatibility.

This has a lot of sence because distributions on Linux (Debian and centos) comes with 3.5 o 3.6 so I Suggest start support to python 3.6 and 3.7 also if not represent a lot of work support 3.5.

Debian buster looks like it could be released sometime this summer (by looking at the current RC bug count) which will ship with 3.7.

I aknowledge though that Django 2.2 is Python >= 3.5, so if nothing prevents it we can do same.

Maybe we can have the test suite test against 35, 36 and 37 with Django 2.2 and leave the final decission on python versions for later down the reload (ie: before a relase). I've not yet seen any features used in the code that would prevent 3.5 from working.

We need to focus on LTS versions of Django so beta is not a good idea, but I also know that the effort of code to next LTS has awards in the future

As stated above, 2.2 is the current LTS release (the previous LTS is 1.11) with the next LTS scheduled for 1Q2021.

@oscarmlage
Copy link
Owner

If I'm not wrong yesterday (June 3, 2019) they published 2.2.2 as the latest official version:

What do you think guys in having separate branches for 2.1 and 2.2. Probably - in the end - lot of work can be used from one branch to the other. I'm open to other proposals but I agree that the project should move forward.

@telenieko
Copy link
Collaborator Author

What do you think guys in having separate branches for 2.1 and 2.2. Probably - in the end - lot of work can be used from one branch to the other. I'm open to other proposals but I agree that the project should move forward.

2.1 end of mainstream support was April 1st this year, end of extended support is December 2019, that is, in less than six months. That why I mentioned to jump directly to 2.2 (end of support April 2022)

@oscarmlage
Copy link
Owner

2.1 end of mainstream support was April 1st this year, end of extended support is December 2019, that is, in less than six months. That why I mentioned to jump directly to 2.2 (end of support April 2022)

Well, dunno how much time do you - guys - have to give some love to the project but I would be really happy if we could release a Django-2.x compatible version towards end of Summer, what leaves us Q4 with support for 2.1. I would say to jump into 2.2 from the beginning by default and, of course, feel free to consider maintain a separate branch for 2.1.

Is that approach mostly ok with you too @luisza?

@telenieko
Copy link
Collaborator Author

Well, dunno how much time do you - guys - have to give some love to the project but I would be really happy if we could release a Django-2.x compatible version towards end of Summer, what leaves us Q4 with support for 2.1. I would say to jump into 2.2 from the beginning by default and, of course, feel free to consider maintain a separate branch for 2.1.

I'm using cruds-adminlte for an internal project for case management (we're a law firm). I myself don't know how much time I have, haha. Most of my patches are basicaly related to that as "I need them", or things I stumble upon like the three PRs I have open now :) which simply make life easier for everyone!

On #104 @oscarmlage:

Also I would like to clear the way we should release according to the versions. I mean, stop working on improvements on Django-1.x compatible versions since 0.0.16 and move to Django-2 or work in separate branches or some other solution. What do you think? (probably we should discuss is as an issue, not in a PR)

I personaly focus on django 2 as the only project I'm using cruds-adminlte is django 2.2 + py3.7 but as said above, I don't foresee any python 3.7 specific features being currently used so python >=3.5 should not be hard.

@telenieko
Copy link
Collaborator Author

@oscarmlage the issue was closed with the merge, but maybe reopen it while we continue the debate on which versions to support (I don't have a reopen button!)

@oscarmlage oscarmlage reopened this Jun 4, 2019
@luisza
Copy link
Contributor

luisza commented Jun 4, 2019

Hi,
My fault, I was busy and checked faster the last version of Django.
I we can focus in 2.2+ because are LTS, maybe when this is done we can check if work in 2.1 but as collateral effect. With Python version we can support the officially supported in Django 2.2 (3.5,3.6,3.7).

if we could release a Django-2.x compatible version towards end of Summer

We can make a Milestone and put a tentative release date, so we can work to improve the 2.x compatibility.

@telenieko telenieko changed the title Clarify django version support Minium django & python versions supported Jun 9, 2019
@oscarmlage
Copy link
Owner

Hey guys, anyone is moving forward on this? I've just made a release right now. Maybe we can schedule some plans for the near future, what do you think?

@telenieko
Copy link
Collaborator Author

Hi,
Regarding the version minimums, I'd stick with what Django 2.2 already says as @luisza suggested. That is, Django >= 2.2, Python >= 3.5. Following django by default. If you agree I'll push minimum changes to setup.py

@oscarmlage
Copy link
Owner

It's perfectly ok with me, thanks @telenieko

@Guest007
Copy link

Guest007 commented Sep 9, 2019

in setup.py we have django>=2 and django-ajax==2.3.7
but django-ajax v2 is for django<2 and django-ajax v3 is for django>=2
May be setup.py need to be fixed?

@telenieko
Copy link
Collaborator Author

telenieko commented Sep 9, 2019

in setup.py we have django>=2 and django-ajax==2.3.7
but django-ajax v2 is for django<2 and django-ajax v3 is for django>=2

Oh oh. Thanks for pointing this out.

May be setup.py need to be fixed?

If it just were that easy... But the AJAX stuff does not currently have test coverage thus changing the requirements without making sure the version upgrade works properly would not be very responsible...

I have updated issue #69 accordingly, which is now a requirement to move forward on this ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants