iatoolkit 0.55.1__tar.gz → 0.55.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/PKG-INFO +1 -1
  2. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/pyproject.toml +1 -1
  3. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/iatoolkit.py +9 -0
  4. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/database_manager.py +14 -2
  5. iatoolkit-0.55.2/src/iatoolkit/static/images/fernando.jpeg +0 -0
  6. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/index.html +22 -23
  7. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit.egg-info/PKG-INFO +1 -1
  8. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit.egg-info/SOURCES.txt +1 -9
  9. iatoolkit-0.55.1/src/iatoolkit/static/images/arrow_up.png +0 -0
  10. iatoolkit-0.55.1/src/iatoolkit/static/images/diagrama_iatoolkit.jpg +0 -0
  11. iatoolkit-0.55.1/src/iatoolkit/static/images/logo_clinica.png +0 -0
  12. iatoolkit-0.55.1/src/iatoolkit/static/images/logo_iatoolkit.png +0 -0
  13. iatoolkit-0.55.1/src/iatoolkit/static/images/logo_maxxa.png +0 -0
  14. iatoolkit-0.55.1/src/iatoolkit/static/images/logo_notaria.png +0 -0
  15. iatoolkit-0.55.1/src/iatoolkit/static/images/logo_tarjeta.png +0 -0
  16. iatoolkit-0.55.1/src/iatoolkit/static/images/logo_umayor.png +0 -0
  17. iatoolkit-0.55.1/src/iatoolkit/static/images/upload.png +0 -0
  18. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/readme.md +0 -0
  19. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/requirements.txt +0 -0
  20. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/setup.cfg +0 -0
  21. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/__init__.py +0 -0
  22. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/base_company.py +0 -0
  23. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/cli_commands.py +0 -0
  24. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/common/__init__.py +0 -0
  25. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/common/exceptions.py +0 -0
  26. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/common/routes.py +0 -0
  27. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/common/session_manager.py +0 -0
  28. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/common/util.py +0 -0
  29. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/company_registry.py +0 -0
  30. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/__init__.py +0 -0
  31. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/call_service.py +0 -0
  32. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/connectors/__init__.py +0 -0
  33. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
  34. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
  35. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
  36. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
  37. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
  38. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
  39. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/gemini_adapter.py +0 -0
  40. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/google_chat_app.py +0 -0
  41. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/llm_client.py +0 -0
  42. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/llm_proxy.py +0 -0
  43. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/llm_response.py +0 -0
  44. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/mail_app.py +0 -0
  45. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/openai_adapter.py +0 -0
  46. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/infra/redis_session_manager.py +0 -0
  47. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/__init__.py +0 -0
  48. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/document_repo.py +0 -0
  49. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
  50. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/models.py +0 -0
  51. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/profile_repo.py +0 -0
  52. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/tasks_repo.py +0 -0
  53. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/repositories/vs_repo.py +0 -0
  54. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/__init__.py +0 -0
  55. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/auth_service.py +0 -0
  56. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/benchmark_service.py +0 -0
  57. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/branding_service.py +0 -0
  58. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/dispatcher_service.py +0 -0
  59. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/document_service.py +0 -0
  60. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/excel_service.py +0 -0
  61. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/file_processor_service.py +0 -0
  62. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/history_service.py +0 -0
  63. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/jwt_service.py +0 -0
  64. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/load_documents_service.py +0 -0
  65. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/mail_service.py +0 -0
  66. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/onboarding_service.py +0 -0
  67. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/profile_service.py +0 -0
  68. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/prompt_manager_service.py +0 -0
  69. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/query_service.py +0 -0
  70. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/search_service.py +0 -0
  71. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/sql_service.py +0 -0
  72. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/tasks_service.py +0 -0
  73. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/user_feedback_service.py +0 -0
  74. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/services/user_session_context_service.py +0 -0
  75. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/js/chat_feedback.js +0 -0
  76. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/js/chat_filepond.js +0 -0
  77. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/js/chat_history.js +0 -0
  78. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/js/chat_main.js +0 -0
  79. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/js/chat_onboarding.js +0 -0
  80. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
  81. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/styles/chat_info.css +0 -0
  82. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/styles/chat_modal.css +0 -0
  83. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/styles/landing_page.css +0 -0
  84. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/styles/llm_output.css +0 -0
  85. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/static/styles/onboarding.css +0 -0
  86. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/system_prompts/format_styles.prompt +0 -0
  87. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/system_prompts/query_main.prompt +0 -0
  88. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/system_prompts/sql_rules.prompt +0 -0
  89. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/_branding_styles.html +0 -0
  90. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/_login_widget.html +0 -0
  91. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/_navbar.html +0 -0
  92. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/about.html +0 -0
  93. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/base.html +0 -0
  94. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/change_password.html +0 -0
  95. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/chat.html +0 -0
  96. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/chat_modals.html +0 -0
  97. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/error.html +0 -0
  98. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/forgot_password.html +0 -0
  99. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/header.html +0 -0
  100. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/login_test.html +0 -0
  101. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/onboarding_shell.html +0 -0
  102. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/signup.html +0 -0
  103. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/templates/test.html +0 -0
  104. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/__init__.py +0 -0
  105. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/base_login_view.py +0 -0
  106. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/change_password_view.py +0 -0
  107. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/chat_token_request_view.py +0 -0
  108. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/external_login_view.py +0 -0
  109. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/file_store_api_view.py +0 -0
  110. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/forgot_password_view.py +0 -0
  111. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/history_api_view.py +0 -0
  112. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/index_view.py +0 -0
  113. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/init_context_api_view.py +0 -0
  114. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/llmquery_api_view.py +0 -0
  115. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/llmquery_web_view.py +0 -0
  116. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/login_simulation_view.py +0 -0
  117. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/login_view.py +0 -0
  118. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/prompt_api_view.py +0 -0
  119. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/signup_view.py +0 -0
  120. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/tasks_review_view.py +0 -0
  121. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/tasks_view.py +0 -0
  122. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
  123. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit/views/verify_user_view.py +0 -0
  124. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
  125. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit.egg-info/requires.txt +0 -0
  126. {iatoolkit-0.55.1 → iatoolkit-0.55.2}/src/iatoolkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 0.55.1
3
+ Version: 0.55.2
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "iatoolkit"
7
- version = "0.55.1"
7
+ version = "0.55.2"
8
8
  requires-python = ">=3.12"
9
9
  description = "IAToolkit"
10
10
  readme = "readme.md"
@@ -188,6 +188,15 @@ class IAToolkit:
188
188
  self.db_manager.create_all()
189
189
  logging.info("✅ Base de datos configurada correctamente")
190
190
 
191
+ @self.app.teardown_appcontext
192
+ def remove_session(exception=None):
193
+ """
194
+ Flask calls this after each request.
195
+ It ensures the SQLAlchemy session is properly closed
196
+ and the DB connection is returned to the pool.
197
+ """
198
+ self.db_manager.scoped_session.remove()
199
+
191
200
  def _setup_redis_sessions(self):
192
201
  redis_url = self._get_config_value('REDIS_URL')
193
202
  if not redis_url:
@@ -21,8 +21,20 @@ class DatabaseManager:
21
21
  :param echo: Si True, habilita logs de SQL.
22
22
  """
23
23
  self.url = make_url(database_url)
24
- self._engine = create_engine(database_url, echo=False)
25
- self.SessionFactory = sessionmaker(bind=self._engine)
24
+ self._engine = create_engine(
25
+ database_url,
26
+ echo=False,
27
+ pool_size=2, # per worker
28
+ max_overflow=3,
29
+ pool_timeout=30,
30
+ pool_recycle=1800,
31
+ pool_pre_ping=True,
32
+ future=True,
33
+ )
34
+ self.SessionFactory = sessionmaker(bind=self._engine,
35
+ autoflush=False,
36
+ autocommit=False,
37
+ expire_on_commit=False)
26
38
  self.scoped_session = scoped_session(self.SessionFactory)
27
39
 
28
40
  # REGISTRAR pgvector para cada nueva conexión solo en postgres
@@ -1,6 +1,6 @@
1
1
  {% extends "base.html" %}
2
2
 
3
- {% block title %}IAToolkit - Acelerador de IA {% endblock %}
3
+ {% block title %}IAToolkit{% endblock %}
4
4
 
5
5
  {% block content %}
6
6
 
@@ -119,32 +119,31 @@
119
119
 
120
120
  <!-- 3.5 Sobre el Autor -->
121
121
  <section class="author-section py-5">
122
- <div class="container">
123
- <div class="row align-items-center g-4">
124
- <div class="col-md-1 d-none d-md-block text-center">
125
- <!-- Opcional: avatar (si no tienes imagen, deja el ícono) -->
126
- <div class="author-avatar mx-auto">
127
- <i class="bi bi-person-circle"></i>
128
- </div>
129
- </div>
130
- <div class="col-md-11">
131
- <div class="author-card p-4">
132
- <div class="d-flex flex-wrap align-items-center">
133
- <h5 class="mb-0 me-3" style="color: var(--brand-primary-color);">Sobre el autor</h5>
134
- <a href="https://www.linkedin.com/in/fernandolibedinsky" target="_blank" rel="noopener" class="author-linkedin ms-auto">
135
- <i class="bi bi-linkedin me-1"></i> LinkedIn
136
- </a>
122
+ <div class="container">
123
+ <div class="author-card p-4">
124
+ <div class="row align-items-center g-4">
125
+ <!-- Columna para la Imagen -->
126
+ <div class="col-md-2 text-center">
127
+ <img src="{{ url_for('static', filename='images/fernando.jpeg') }}" alt="Foto de Fernando Libedinsky" class="img-fluid rounded-circle" style="max-width: 120px;">
128
+ </div>
129
+ <!-- Columna para el Texto -->
130
+ <div class="col-md-10">
131
+ <div class="d-flex flex-wrap align-items-center mb-2">
132
+ <h5 class="mb-0 me-3" style="color: var(--brand-primary-color);">Sobre el autor</h5>
133
+ <a href="https://www.linkedin.com/in/fernandolibedinsky" target="_blank" rel="noopener" class="author-linkedin ms-auto">
134
+ <i class="bi bi-linkedin me-1"></i> LinkedIn
135
+ </a>
136
+ </div>
137
+ <p class="author-bio mb-0">
138
+ Soy <strong>Fernando Libedinsky</strong>, ingeniero de software y creador de <strong>IAToolkit</strong>.
139
+ <br>Tras una extensa trayectoria en el desarrollo de tecnología, sigo movido por la misma curiosidad que me llevó a programar por primera vez: aprender, explorar y construir cosas nuevas.
140
+ <br>IAToolkit es la continuación de ese impulso, una plataforma creada para conectar rapidamente empresas con la inteligencia artificial.
141
+ </p>
137
142
  </div>
138
- <p class="author-bio mt-2 mb-0">
139
- Soy <strong>Fernando Libedinsky</strong>, ingeniero de software y creador de <strong>IAToolkit</strong>.
140
- <br>Tras una extensa trayectoria en el desarrollo de tecnología, sigo movido por la misma curiosidad que me llevó a programar por primera vez: aprender, explorar y construir cosas nuevas.
141
- <br>IAToolkit es la continuación de ese impulso, una plataforma creada para conectar rapidamente una empresas con la IA.
142
- </p>
143
143
  </div>
144
144
  </div>
145
145
  </div>
146
- </div>
147
- </section>
146
+ </section>
148
147
 
149
148
 
150
149
  <!-- 4. Footer (sin cambios) -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iatoolkit
3
- Version: 0.55.1
3
+ Version: 0.55.2
4
4
  Summary: IAToolkit
5
5
  Author: Fernando Libedinsky
6
6
  License-Expression: MIT
@@ -62,15 +62,7 @@ src/iatoolkit/services/sql_service.py
62
62
  src/iatoolkit/services/tasks_service.py
63
63
  src/iatoolkit/services/user_feedback_service.py
64
64
  src/iatoolkit/services/user_session_context_service.py
65
- src/iatoolkit/static/images/arrow_up.png
66
- src/iatoolkit/static/images/diagrama_iatoolkit.jpg
67
- src/iatoolkit/static/images/logo_clinica.png
68
- src/iatoolkit/static/images/logo_iatoolkit.png
69
- src/iatoolkit/static/images/logo_maxxa.png
70
- src/iatoolkit/static/images/logo_notaria.png
71
- src/iatoolkit/static/images/logo_tarjeta.png
72
- src/iatoolkit/static/images/logo_umayor.png
73
- src/iatoolkit/static/images/upload.png
65
+ src/iatoolkit/static/images/fernando.jpeg
74
66
  src/iatoolkit/static/js/chat_feedback.js
75
67
  src/iatoolkit/static/js/chat_filepond.js
76
68
  src/iatoolkit/static/js/chat_history.js
File without changes
File without changes
File without changes