Sam Python Dependencies
Sam Python Dependencies
Original file: SAM_PYTHON_DEPENDENCIES.html
Type: HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SAM AI Python Dependencies</title>
<style>
:root {
--bg-dark: #1a1a2e;
--bg-card: #16213e;
--bg-hover: #1f3460;
--accent-blue: #4a9eff;
--accent-green: #4ade80;
--accent-purple: #a78bfa;
--accent-orange: #fb923c;
--accent-pink: #f472b6;
--accent-cyan: #22d3ee;
--accent-yellow: #facc15;
--accent-red: #f87171;
--text-primary: #e2e8f0;
--text-secondary: #94a3b8;
--border-color: #334155;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
background: var(--bg-dark);
color: var(--text-primary);
line-height: 1.6;
padding: 20px;
min-height: 100vh;
}
.container {
max-width: 1400px;
margin: 0 auto;
}
header {
text-align: center;
margin-bottom: 40px;
padding: 30px;
background: linear-gradient(135deg, var(--bg-card), #1e3a5f);
border-radius: 16px;
border: 1px solid var(--border-color);
}
header h1 {
font-size: 2.5rem;
margin-bottom: 10px;
background: linear-gradient(135deg, var(--accent-green), var(--accent-cyan));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
header p {
color: var(--text-secondary);
font-size: 1.1rem;
}
.updated {
font-size: 0.85rem;
color: var(--accent-green);
margin-top: 10px;
}
/* Category Sections */
.category {
background: var(--bg-card);
border-radius: 16px;
padding: 25px;
margin-bottom: 25px;
border: 1px solid var(--border-color);
}
.category-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid var(--border-color);
}
.category-icon {
width: 48px;
height: 48px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
}
.category-title {
flex: 1;
}
.category-title h2 {
font-size: 1.4rem;
margin-bottom: 4px;
}
.category-title p {
font-size: 0.9rem;
color: var(--text-secondary);
}
.status-badge {
padding: 6px 14px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
}
.status-critical { background: rgba(248, 113, 113, 0.2); color: var(--accent-red); }
.status-important { background: rgba(251, 146, 60, 0.2); color: var(--accent-orange); }
.status-optional { background: rgba(74, 222, 128, 0.2); color: var(--accent-green); }
/* Dependency Table */
.dep-table {
width: 100%;
border-collapse: collapse;
}
.dep-table th,
.dep-table td {
padding: 14px 16px;
text-align: left;
border-bottom: 1px solid var(--border-color);
}
.dep-table th {
background: var(--bg-hover);
font-weight: 600;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.5px;
color: var(--accent-blue);
}
.dep-table tr:hover {
background: var(--bg-hover);
}
.dep-table tr:last-child td {
border-bottom: none;
}
.package-name {
font-family: 'Consolas', 'Monaco', monospace;
color: var(--accent-cyan);
font-weight: 600;
}
.version {
font-family: 'Consolas', 'Monaco', monospace;
color: var(--accent-purple);
font-size: 0.85rem;
}
.used-by {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.used-by-tag {
font-size: 0.75rem;
padding: 3px 8px;
border-radius: 4px;
background: rgba(74, 158, 255, 0.15);
color: var(--accent-blue);
font-family: monospace;
}
.fallback-note {
font-size: 0.8rem;
color: var(--accent-yellow);
display: flex;
align-items: center;
gap: 6px;
}
/* Installation Section */
.install-section {
background: var(--bg-card);
border-radius: 16px;
padding: 25px;
margin-bottom: 25px;
border: 1px solid var(--border-color);
}
.install-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 20px;
}
.install-header h2 {
font-size: 1.3rem;
}
.code-block {
background: #0d1117;
border-radius: 10px;
padding: 20px;
font-family: 'Consolas', 'Monaco', monospace;
font-size: 0.9rem;
overflow-x: auto;
border: 1px solid var(--border-color);
margin-bottom: 15px;
}
.code-comment {
color: #6a737d;
}
.code-command {
color: var(--accent-green);
}
/* Graceful Degradation */
.graceful-section {
background: linear-gradient(135deg, rgba(74, 222, 128, 0.1), rgba(34, 211, 238, 0.1));
border-radius: 16px;
padding: 25px;
margin-bottom: 25px;
border: 1px solid rgba(74, 222, 128, 0.3);
}
.graceful-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 15px;
}
.graceful-header h2 {
color: var(--accent-green);
}
.graceful-content {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}
.graceful-card {
background: var(--bg-card);
border-radius: 12px;
padding: 20px;
}
.graceful-card h3 {
font-size: 1.1rem;
margin-bottom: 10px;
display: flex;
align-items: center;
gap: 8px;
}
.graceful-card ul {
list-style: none;
padding-left: 0;
}
.graceful-card li {
padding: 6px 0;
padding-left: 20px;
position: relative;
color: var(--text-secondary);
font-size: 0.9rem;
}
.graceful-card li::before {
content: '✓';
position: absolute;
left: 0;
color: var(--accent-green);
}
/* Python Version Matrix */
.version-matrix {
background: var(--bg-card);
border-radius: 16px;
padding: 25px;
margin-bottom: 25px;
border: 1px solid var(--border-color);
}
.matrix-table {
width: 100%;
border-collapse: collapse;
font-size: 0.9rem;
}
.matrix-table th,
.matrix-table td {
padding: 12px;
text-align: center;
border: 1px solid var(--border-color);
}
.matrix-table th {
background: var(--bg-hover);
}
.matrix-check {
color: var(--accent-green);
font-size: 1.2rem;
}
.matrix-warning {
color: var(--accent-yellow);
font-size: 1.2rem;
}
/* Footer */
footer {
text-align: center;
padding: 20px;
color: var(--text-secondary);
font-size: 0.9rem;
}
/* Responsive */
@media (max-width: 768px) {
header h1 {
font-size: 1.8rem;
}
.category-header {
flex-direction: column;
text-align: center;
}
.dep-table {
font-size: 0.85rem;
}
.dep-table th,
.dep-table td {
padding: 10px;
}
}
</style>
</head>
<body>
<div class="container">
<header>
<h1>SAM AI Python Dependencies</h1>
<p>Complete reference for all Python packages used by the SAM AI ecosystem</p>
<div class="updated">Last Updated: December 16, 2025 | Phase 16 (ML Layer)</div>
</header>
<!-- Graceful Degradation Section -->
<div class="graceful-section">
<div class="graceful-header">
<span style="font-size: 1.5rem;">🛡️</span>
<h2>Graceful Degradation Philosophy</h2>
</div>
<p style="margin-bottom: 20px; color: var(--text-secondary);">
SAM AI is designed to work with minimal dependencies. Optional packages enhance functionality but are never required for core operations.
</p>
<div class="graceful-content">
<div class="graceful-card">
<h3><span style="color: var(--accent-green);">✓</span> Always Works</h3>
<ul>
<li>Chat conversations with AI</li>
<li>Message streaming</li>
<li>Conversation history</li>
<li>Basic mode switching</li>
<li>API provider routing</li>
</ul>
</div>
<div class="graceful-card">
<h3><span style="color: var(--accent-cyan);">⚡</span> Enhanced With ML</h3>
<ul>
<li>User pattern recognition</li>
<li>Topic clustering</li>
<li>Communication style detection</li>
<li>Response optimization</li>
<li>Vocabulary enhancement</li>
</ul>
</div>
<div class="graceful-card">
<h3><span style="color: var(--accent-purple);">🔮</span> Enhanced With Memory</h3>
<ul>
<li>Semantic conversation search</li>
<li>Context from past conversations</li>
<li>Long-term user preferences</li>
<li>Related conversation retrieval</li>
</ul>
</div>
</div>
</div>
<!-- CRITICAL Dependencies -->
<div class="category">
<div class="category-header">
<div class="category-icon" style="background: rgba(248, 113, 113, 0.2);">🔴</div>
<div class="category-title">
<h2>Core AI APIs</h2>
<p>Required for SAM to communicate with AI providers</p>
</div>
<span class="status-badge status-critical">Critical</span>
</div>
<table class="dep-table">
<thead>
<tr>
<th>Package</th>
<th>Version</th>
<th>Purpose</th>
<th>Used By</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="package-name">anthropic</span></td>
<td><span class="version">>=0.18.0</span></td>
<td>Claude AI SDK integration - streaming, messages, tool use</td>
<td>
<div class="used-by">
<span class="used-by-tag">ai_brain.py</span>
<span class="used-by-tag">_chat_via_sdk()</span>
</div>
</td>
</tr>
<tr>
<td><span class="package-name">openai</span></td>
<td><span class="version">>=1.0.0</span></td>
<td>OpenAI GPT integration + Whisper transcription</td>
<td>
<div class="used-by">
<span class="used-by-tag">ai_youtube_transcribe</span>
<span class="used-by-tag">audio processing</span>
</div>
</td>
</tr>
<tr>
<td><span class="package-name">requests</span></td>
<td><span class="version">>=2.25.1</span></td>
<td>HTTP client for OpenAI-compatible API streaming (raw SSE)</td>
<td>
<div class="used-by">
<span class="used-by-tag">ai_brain.py</span>
<span class="used-by-tag">_chat_via_http()</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Memory System -->
<div class="category">
<div class="category-header">
<div class="category-icon" style="background: rgba(251, 146, 60, 0.2);">🧠</div>
<div class="category-title">
<h2>Memory System</h2>
<p>Semantic search and conversation history</p>
</div>
<span class="status-badge status-important">Important</span>
</div>
<table class="dep-table">
<thead>
<tr>
<th>Package</th>
<th>Version</th>
<th>Purpose</th>
<th>Fallback</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="package-name">chromadb</span></td>
<td><span class="version">>=0.4.22</span></td>
<td>Vector database for semantic conversation search</td>
<td><span class="fallback-note">⚠️ Memory search disabled</span></td>
</tr>
<tr>
<td><span class="package-name">sentence-transformers</span></td>
<td><span class="version">>=2.2.0</span></td>
<td>Text embeddings for semantic similarity (downloads ~2GB models)</td>
<td><span class="fallback-note">⚠️ Falls back to keyword search</span></td>
</tr>
</tbody>
</table>
</div>
<!-- Machine Learning -->
<div class="category">
<div class="category-header">
<div class="category-icon" style="background: rgba(74, 222, 128, 0.2);">🤖</div>
<div class="category-title">
<h2>Machine Learning (Phase 16)</h2>
<p>Pattern recognition and personalization - SAM works perfectly without these</p>
</div>
<span class="status-badge status-optional">Optional</span>
</div>
<table class="dep-table">
<thead>
<tr>
<th>Package</th>
<th>Version</th>
<th>Purpose</th>
<th>Fallback</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="package-name">scikit-learn</span></td>
<td><span class="version">>=1.3.0</span></td>
<td>
<strong>TF-IDF Vectorization:</strong> Convert text to numerical features<br>
<strong>KMeans Clustering:</strong> Group conversations by topic<br>
<strong>Classification:</strong> Detect communication styles
</td>
<td><span class="fallback-note">✓ SAM works, just less personalized</span></td>
</tr>
</tbody>
</table>
<div class="code-block" style="margin-top: 20px;">
<span class="code-comment"># Graceful degradation pattern in sam_voice.py</span>
try:
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
<span class="code-command">ML_AVAILABLE = True</span>
except ImportError:
<span class="code-command">ML_AVAILABLE = False</span>
_logger.info("Scikit-learn not installed. ML features disabled - SAM works normally.")
</div>
</div>
<!-- Web Scraping -->
<div class="category">
<div class="category-header">
<div class="category-icon" style="background: rgba(167, 139, 250, 0.2);">🕸️</div>
<div class="category-title">
<h2>Web Scraping</h2>
<p>For ai_sam_lead_generator module</p>
</div>
<span class="status-badge status-optional">Optional</span>
</div>
<table class="dep-table">
<thead>
<tr>
<th>Package</th>
<th>Version</th>
<th>Purpose</th>
<th>Used By</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="package-name">beautifulsoup4</span></td>
<td><span class="version">>=4.11.0</span></td>
<td>HTML parsing for web scraping</td>
<td>
<div class="used-by">
<span class="used-by-tag">ai_sam_lead_generator</span>
</div>
</td>
</tr>
<tr>
<td><span class="package-name">lxml</span></td>
<td><span class="version">>=4.8.0</span></td>
<td>Fast XML/HTML processing (included in Odoo core)</td>
<td>
<div class="used-by">
<span class="used-by-tag">Odoo core</span>
<span class="used-by-tag">ai_sam_lead_generator</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Git Operations -->
<div class="category">
<div class="category-header">
<div class="category-icon" style="background: rgba(244, 114, 182, 0.2);">📦</div>
<div class="category-title">
<h2>Git Operations</h2>
<p>For github_app module</p>
</div>
<span class="status-badge status-important">Important</span>
</div>
<table class="dep-table">
<thead>
<tr>
<th>Package</th>
<th>Version</th>
<th>Purpose</th>
<th>Used By</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="package-name">GitPython</span></td>
<td><span class="version">>=3.1.43</span></td>
<td>Git repository operations (clone, pull, commit, push)</td>
<td>
<div class="used-by">
<span class="used-by-tag">github_app</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Installation Commands -->
<div class="install-section">
<div class="install-header">
<span style="font-size: 1.5rem;">💻</span>
<h2>Installation Commands</h2>
</div>
<h3 style="margin-bottom: 10px; color: var(--accent-blue);">Full Installation (All Features)</h3>
<div class="code-block">
<span class="code-comment"># Install all SAM AI dependencies</span>
<span class="code-command">pip install anthropic openai chromadb sentence-transformers scikit-learn beautifulsoup4 GitPython</span>
</div>
<h3 style="margin-bottom: 10px; color: var(--accent-green);">Minimal Installation (Core Only)</h3>
<div class="code-block">
<span class="code-comment"># Just the essentials - SAM will work with limited features</span>
<span class="code-command">pip install anthropic requests</span>
</div>
<h3 style="margin-bottom: 10px; color: var(--accent-purple);">From Requirements File</h3>
<div class="code-block">
<span class="code-comment"># Using the python_bundle requirements</span>
<span class="code-command">pip install -r D:\SAMAI-18-SaaS\github-repos\14-samai_python_bundle\requirements.txt</span>
</div>
</div>
<!-- Python Version Matrix -->
<div class="version-matrix">
<h2 style="margin-bottom: 20px;">Python Version Compatibility</h2>
<table class="matrix-table">
<thead>
<tr>
<th>Package</th>
<th>Python 3.10</th>
<th>Python 3.11</th>
<th>Python 3.12</th>
<th>Python 3.13</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="package-name">anthropic</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
</tr>
<tr>
<td><span class="package-name">openai</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
</tr>
<tr>
<td><span class="package-name">chromadb</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-warning">⚠️</span></td>
</tr>
<tr>
<td><span class="package-name">scikit-learn</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
</tr>
<tr>
<td><span class="package-name">sentence-transformers</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-check">✓</span></td>
<td><span class="matrix-warning">⚠️</span></td>
</tr>
</tbody>
</table>
<p style="margin-top: 15px; font-size: 0.85rem; color: var(--text-secondary);">
⚠️ = May require specific version pins or have limited support
</p>
</div>
<!-- Dependency Graph -->
<div class="install-section">
<div class="install-header">
<span style="font-size: 1.5rem;">🔗</span>
<h2>Dependency Relationships</h2>
</div>
<div class="code-block" style="font-size: 0.8rem; line-height: 1.3;">
<span style="color: var(--accent-cyan);">SAM AI Ecosystem</span>
│
├── <span style="color: var(--accent-red);">CRITICAL (Required)</span>
│ ├── anthropic → Claude SDK streaming
│ └── requests → OpenAI-compatible HTTP streaming
│
├── <span style="color: var(--accent-orange);">IMPORTANT (Recommended)</span>
│ ├── chromadb → Vector database
│ │ └── numpy (auto-installed)
│ ├── sentence-transformers → Text embeddings
│ │ └── torch (auto-installed, ~2GB)
│ └── GitPython → Git operations
│
├── <span style="color: var(--accent-green);">OPTIONAL (Enhanced Features)</span>
│ ├── scikit-learn → ML personalization
│ │ ├── numpy (shared with chromadb)
│ │ ├── scipy (auto-installed)
│ │ └── joblib (auto-installed)
│ ├── beautifulsoup4 → Web scraping
│ └── openai → Whisper transcription
│
└── <span style="color: var(--text-secondary);">ODOO CORE (Already included)</span>
├── lxml → XML/HTML parsing
├── Pillow → Image processing
├── psycopg2 → PostgreSQL
└── Werkzeug → HTTP utilities
</div>
</div>
<footer>
<p>SAM AI Python Dependencies Documentation | Part of the SAM AI Architecture Schema</p>
<p>Source: <code>D:\SAMAI-18-SaaS\github-repos\14-samai_python_bundle\requirements.txt</code></p>
</footer>
</div>
</body>
</html>