Are these dependencies actually needed
So, I was just looking into porting hyperkitty to python3. Hyperkitty has tons of dependencies, and I wonder if we could drop a couple. I'll just create a list here will all dependencies and list if I think if it's actually required or not.
- Django>=1.8<1.10
This of course is a hard requirement - django-gravatar2>=1.0.6
Would be nice if it was optional - python-social-auth>=0.2.3
Essential for social logins (Since authentication is being reworked, this might be dropped) - djangorestframework>=3.0.0
Used for API access. Is this being utilized? Can we make this optional? - django-crispy-forms>=1.4.0
Postorius renders everything alone, is this an option for hyperkitty? - rjsmin>=1.0.6
Found no use of this. If we need a minifier, maybe grunt is an alternative that is only needed for development - cssmin>=0.2.0
Same as rjsmin - robot-detection>=0.3
No longer maintained. I guess it would be nice to drop this one. - pytz>=2012
More or less required by django - django-paintstore>=0.1.2
No longer maintained. It's only used for colors of categories. Html5 has a color picker, can we use this instead? - django-compressor>=1.3
Used to compress js and css. Is grunt an alternative? - django-browserid>=0.11.1
Login for persona, will be dropped soon - mailmanclient>=1.0.0b1
Essential - python-dateutil < 2.0 # python-dateutil 2.0+ is for Python 3
Used to parse dates. Don't think we are going to find any viable alternative - networkx>=1.9.1
Used to check graphs for cycles. Is python3 compatible and only needs one dependency. But it can be implemented in a couple of lines. Is it worth a dependency (~9MB)? - enum34>=1.0
Used for ArchivePolicy. Django's standard way of modelling enums is a list of tuples. Since we only use it once, is this an option? Downside is that a lot of code seems to depend on ArchivePolicy - django-haystack>=2.1.0
Used for the search backend. I guess this is the best database independent option. - django-extensions>=1.3.7
Used to provide "cron jobs" - lockfile>=0.9.1
File lock checking. Is normal python locking ok? core uses flufl...
@abompard What are your thoughts?
Edited by Abhilash Raj