-
Notifications
You must be signed in to change notification settings - Fork 16
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
declare django as a dependencies #99
Comments
Hi Mathieu, This question has come up before in other database backends that I work on. I don't think it's appropriate for database backends (django-snowflake in this case) to manage the installed version of Django. Say I'm using Django 4.2 and I run Instead I would pin a major dependency like Django in a requirements file (at least to something like |
hmmm, we eventually did this, but it's still a burden: one day one of our new developers (and not even just ours) will get hit by this as well. I see two solutions:
|
Since Django's database backend API isn't subject to API stability like the rest of Django, I've found it easiest and cleanest to have a separate version of the backend to match each version of Django. This eliminates the maintenance burden of conditional code based on the Django version. I'll think about whether it's appropriate to move the version check to Is it a burden to use a requirements file to manage dependencies? Frankly, I think it's quite risky not to. Is your normal workflow to install the latest version of each Django library and hope everything works? |
We use PDM, it is like Poetry. |
I haven't used modern package management systems, so my thinking on this might be antiquated. It might be that including a Django version restriction in django-snowflake's |
I confirm that PDM and Poetry do not reproduce pip's behavior quirk to uninstall existing django to accommodate django-snowflake requirements. So I think it's time to put the dependencies management old world to rest and embrace the new one :) |
thank you so much |
We had several issues when upgrading django where we would then have error in the form of
You must use the latest version of django-snowflake X.Y.z with Django X.Y.z (found django-snowflake A.B.C).
occasioning runtime error on staging/preprod.Why not declare django as a requirement, where the required django version would be expressed, so this can be avoid at dependency installation time?
The text was updated successfully, but these errors were encountered: