JSv4 / OpenContracts

Mass document analytics platform based on LlamaIndex, Pgvector, React and Django.
https://JSv4.github.io/OpenContracts/
Apache License 2.0
671 stars 53 forks source link

Upgrade Django App Dependencies to work with Django LTS #172

Closed JSv4 closed 1 month ago

JSv4 commented 1 month ago

Django-stubs and django extensions both have management commands that don't work with post Django 4.1 syntax. This was not caught by the tests so v2.0 branch fails on startup. I've upgraded the dependency versions to work with Django 4.2

There is another issue here... for some reason, upgrading to Django 4.2 creates an issue with opencv and/or vcr.py. At the moment, I can fix one or the other but not both. Extract thumbnail fails when the upgrades mentioned above are applied and opencv throws some kind of numpy version error. If you upgrade opencv to latest, it works fine, but then vcr.py throws a super cryptic error about a setuptools issue. If you do not install vcr.py (which is only needed for tests), then the application (plus thumbnail extraction) appears to work. It's a bit of a quandary, though, as dropping vcr.py really drops test coverage and is not really a "fix". I'm opening an issue in the vcr.py repo and the issue may be due to how they're using pyproject.toml and setuptools.

Given the choices here, I'm going to merge this without a resolution for the opencv/vcr,py problem so the v2.post1 release works and tests continue to function, but thumbnails are broken. I don't love that, but I consider a minor cosmetic function to be the least important of possible issues here (1. boot failure, 2. huge drop in test coverage, 3. missing thumbnail).

JSv4 commented 1 month ago

Weirdly these changes caused an issue installing vcr.py. Issue opened here by someone else minutes before I did.

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 75.51%. Comparing base (d26b78c) to head (01ce5ef).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #172 +/- ## ========================================== + Coverage 74.28% 75.51% +1.22% ========================================== Files 59 59 Lines 2695 2695 ========================================== + Hits 2002 2035 +33 + Misses 693 660 -33 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

JSv4 commented 1 month ago

Setuptools v 72 broke, like, all the things. This was causing an issue with vcr.py not being able to install as their test suite relied on deprecated (now removed) code. Currently using a specific commit on their main as they've not released an official fix for this on pypi yet. I believe the reason this popped up was upgrading to latest opencv (for numpy compatibility) was forcing setuptools upgrade.