mejor práctica: django + python analytics

Tengo una pregunta de organización de código aquí. Tengo un proyecto de Django. Se encuentra en un server, la gente lo usa y recostack datos. En algún momento necesito analizar un montón de esos datos (estoy usando Scipy, numpy y matplotlib). En este momento estoy usando la database Django como el único punto de almacenamiento para los datos.

En este momento, mi module de análisis se encuentra dentro del proyecto django, y me conecto a la misma database que está usando el server en vivo, obtengo los datos y analizo / trazo / lo que sea. Pero el module de análisis está realmente separado del proyecto Django (si quiero implementar el proyecto django en otro server, el module de análisis no lo incluye). Y tiene diferentes dependencies.

Entonces, ¿cómo debería organizar esto para mantener la separación, pero aún así permitir que el module de análisis acceda a todos los componentes del proyecto Django? Me gustaría que tengan diferentes entornos virtuales (porque no quiero que las dependencies de los modules de análisis llenen el entorno del proyecto django) y que vivan en diferentes repositorys git.

Ahora mismo:

(git repo DjangoThing) DjangoThing MyDjangoProj settings.py wsgi.py urls.py --->analyze.py (this is dumb) etc MyDjangoApp1 models.py etc MyDjangoApp2 models.py etc 

¿Alguna sugerencia?

Es un punto importante para recordar que las aplicaciones de Django son solo código de Python al final del día, así que si quieres tener diferentes entornos virtuales, podrías crear un package de Python separado y manejar manualmente todo el trabajo de DB, ya sea a través de SQLalchemy, algo más, o perro crudo. Si hay código en la aplicación Django que desea, y puede piratear su PYTHONPATH para que sepa dónde vive su proyecto Django. Pero también necesitaría saber cómo funciona manage.py entre bastidores porque, inevitablemente, sus aplicaciones personalizadas en el repository requieren que se carguen las configuraciones y todas las demás cosas buenas que suceden a través de manage.py.

¿Entonces lo que hay que hacer? Bueno, me limitaré a lo que dice el comentarista anterior, solo crea tu aplicación de análisis como una nueva aplicación en tu repository de Django. Pero primero, puede clonar fácilmente el repository antiguo y llamarlo "análisis" y el nuevo como sea que lo llame. Para su aplicación de análisis, ajuste sus requisitos.txt, agregue su aplicación analítica y luego bam, tiene su aplicación analítica en funcionamiento con el mínimo esfuerzo y aún tiene el buen django orm si desea usarla. Aún puedes tener virtualenvs diferentes, simplemente no te confundas sobre en cuál te encuentras, o estarás en un mundo de dolor y dolor.

¡Incluso puede get una cena elegante y exponer sus análisis como un service a través de apacibles llamadas api si así lo desea!