kailash 0.8.0__py3-none-any.whl → 0.8.2__py3-none-any.whl

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.
@@ -70,7 +70,7 @@ class WorkflowVisualizer:
70
70
  """Get colors for all nodes in workflow."""
71
71
  colors = []
72
72
  for node_id in self.workflow.graph.nodes():
73
- node_instance = target_workflow.nodes.get(node_id)
73
+ node_instance = self.workflow.nodes.get(node_id)
74
74
  if node_instance:
75
75
  node_type = node_instance.node_type
76
76
  colors.append(self._get_node_color(node_type))
@@ -122,12 +122,14 @@ class WorkflowVisualizer:
122
122
 
123
123
  return edge_labels
124
124
 
125
- def _calculate_layout(self, workflow: 'Workflow' = None) -> dict[str, tuple[float, float]]:
125
+ def _calculate_layout(
126
+ self, workflow: "Workflow" = None
127
+ ) -> dict[str, tuple[float, float]]:
126
128
  """Calculate node positions for visualization."""
127
129
  target_workflow = workflow or self.workflow
128
130
  if not target_workflow:
129
131
  return {}
130
-
132
+
131
133
  # Try to use stored positions first
132
134
  pos = {}
133
135
  for node_id, node_instance in target_workflow.nodes.items():
@@ -154,8 +156,10 @@ class WorkflowVisualizer:
154
156
  pos = nx.spring_layout(target_workflow.graph)
155
157
 
156
158
  return pos
157
-
158
- def _get_layout_positions(self, workflow: Workflow) -> dict[str, tuple[float, float]]:
159
+
160
+ def _get_layout_positions(
161
+ self, workflow: Workflow
162
+ ) -> dict[str, tuple[float, float]]:
159
163
  """Get layout positions for workflow nodes."""
160
164
  # Temporarily store workflow and calculate layout
161
165
  original_workflow = self.workflow
@@ -164,7 +168,7 @@ class WorkflowVisualizer:
164
168
  return self._calculate_layout()
165
169
  finally:
166
170
  self.workflow = original_workflow
167
-
171
+
168
172
  def _get_node_colors(self, workflow: Workflow) -> list[str]:
169
173
  """Get node colors for workflow."""
170
174
  colors = []
@@ -183,17 +187,19 @@ class WorkflowVisualizer:
183
187
  color_key = "ai"
184
188
  else:
185
189
  color_key = "default"
186
- colors.append(self.node_colors.get(color_key, self.node_colors["default"]))
190
+ colors.append(
191
+ self.node_colors.get(color_key, self.node_colors["default"])
192
+ )
187
193
  else:
188
194
  colors.append(self.node_colors["default"])
189
195
  return colors
190
196
 
191
- def _create_layers(self, workflow: 'Workflow' = None) -> dict[int, list]:
197
+ def _create_layers(self, workflow: "Workflow" = None) -> dict[int, list]:
192
198
  """Create layers of nodes for hierarchical layout."""
193
199
  target_workflow = workflow or self.workflow
194
200
  if not target_workflow:
195
201
  return {}
196
-
202
+
197
203
  layers = {}
198
204
  remaining = set(target_workflow.graph.nodes())
199
205
  layer = 0
@@ -251,18 +257,22 @@ class WorkflowVisualizer:
251
257
  target_workflow = workflow or self.workflow
252
258
  if not target_workflow:
253
259
  raise ValueError("No workflow provided to draw")
254
-
260
+
255
261
  # Use default position if not provided
256
262
  if pos is None:
257
263
  pos = self._get_layout_positions(target_workflow)
258
-
264
+
259
265
  # Use default colors if not provided
260
266
  if node_colors is None:
261
267
  node_colors = self._get_node_colors(target_workflow)
262
-
268
+
263
269
  # Draw nodes
264
270
  nx.draw_networkx_nodes(
265
- target_workflow.graph, pos, node_color=node_colors, node_size=3000, alpha=0.9
271
+ target_workflow.graph,
272
+ pos,
273
+ node_color=node_colors,
274
+ node_size=3000,
275
+ alpha=0.9,
266
276
  )
267
277
 
268
278
  # Draw edges
@@ -284,7 +294,7 @@ class WorkflowVisualizer:
284
294
  self.workflow = target_workflow
285
295
  labels = self._get_node_labels()
286
296
  self.workflow = old_workflow
287
-
297
+
288
298
  nx.draw_networkx_labels(
289
299
  target_workflow.graph, pos, labels, font_size=10, font_weight="bold"
290
300
  )
@@ -296,7 +306,7 @@ class WorkflowVisualizer:
296
306
  self.workflow = target_workflow
297
307
  edge_labels = self._get_edge_labels()
298
308
  self.workflow = old_workflow
299
-
309
+
300
310
  nx.draw_networkx_edge_labels(
301
311
  target_workflow.graph, pos, edge_labels, font_size=8
302
312
  )
@@ -325,8 +335,10 @@ class WorkflowVisualizer:
325
335
  try:
326
336
  # Check if workflow is available
327
337
  if not self.workflow:
328
- raise ValueError("No workflow to visualize. Set workflow property or create visualizer with workflow.")
329
-
338
+ raise ValueError(
339
+ "No workflow to visualize. Set workflow property or create visualizer with workflow."
340
+ )
341
+
330
342
  plt.figure(figsize=figsize)
331
343
 
332
344
  # Calculate node positions
@@ -342,7 +354,13 @@ class WorkflowVisualizer:
342
354
 
343
355
  # Draw the graph components
344
356
  if pos:
345
- self._draw_graph(workflow=self.workflow, pos=pos, node_colors=node_colors, show_labels=show_labels, show_connections=show_connections)
357
+ self._draw_graph(
358
+ workflow=self.workflow,
359
+ pos=pos,
360
+ node_colors=node_colors,
361
+ show_labels=show_labels,
362
+ show_connections=show_connections,
363
+ )
346
364
 
347
365
  # Set title
348
366
  if title is None:
@@ -0,0 +1,532 @@
1
+ Metadata-Version: 2.4
2
+ Name: kailash
3
+ Version: 0.8.2
4
+ Summary: Python SDK for the Kailash container-node architecture
5
+ Home-page: https://github.com/integrum/kailash-python-sdk
6
+ Author: Integrum
7
+ Author-email: Integrum <info@integrum.com>
8
+ Project-URL: Homepage, https://github.com/integrum/kailash-python-sdk
9
+ Project-URL: Bug Tracker, https://github.com/integrum/kailash-python-sdk/issues
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Requires-Python: >=3.11
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: networkx>=2.7
19
+ Requires-Dist: pydantic>=1.9
20
+ Requires-Dist: matplotlib>=3.5
21
+ Requires-Dist: pyyaml>=6.0
22
+ Requires-Dist: click>=8.0
23
+ Requires-Dist: pytest>=8.3.5
24
+ Requires-Dist: mcp[cli]==1.11.0
25
+ Requires-Dist: pandas>=2.2.3
26
+ Requires-Dist: numpy>=2.2.5
27
+ Requires-Dist: scipy>=1.15.3
28
+ Requires-Dist: scikit-learn>=1.6.1
29
+ Requires-Dist: requests>=2.32.3
30
+ Requires-Dist: pytest-cov>=6.1.1
31
+ Requires-Dist: isort>=6.0.1
32
+ Requires-Dist: aiohttp>=3.12.4
33
+ Requires-Dist: aiohttp-cors>=0.7.0
34
+ Requires-Dist: ruff>=0.11.12
35
+ Requires-Dist: msal>=1.32.3
36
+ Requires-Dist: sphinx>=8.2.3
37
+ Requires-Dist: sphinx-rtd-theme>=3.0.2
38
+ Requires-Dist: sphinx-copybutton>=0.5.2
39
+ Requires-Dist: sphinxcontrib-mermaid>=1.0.0
40
+ Requires-Dist: sphinx-autobuild>=2024.10.3
41
+ Requires-Dist: autodoc>=0.5.0
42
+ Requires-Dist: myst-parser>=4.0.1
43
+ Requires-Dist: black>=25.1.0
44
+ Requires-Dist: psutil>=7.0.0
45
+ Requires-Dist: fastapi>=0.115.12
46
+ Requires-Dist: uvicorn[standard]>=0.31.0
47
+ Requires-Dist: pytest-asyncio>=1.0.0
48
+ Requires-Dist: pre-commit>=4.2.0
49
+ Requires-Dist: twine>=6.1.0
50
+ Requires-Dist: ollama>=0.5.1
51
+ Requires-Dist: sqlalchemy>=2.0.0
52
+ Requires-Dist: psycopg2-binary>=2.9.0
53
+ Requires-Dist: pymysql>=1.1.0
54
+ Requires-Dist: aiosqlite>=0.19.0
55
+ Requires-Dist: websockets>=12.0
56
+ Requires-Dist: httpx>=0.25.0
57
+ Requires-Dist: python-jose>=3.5.0
58
+ Requires-Dist: pytest-xdist>=3.6.0
59
+ Requires-Dist: pytest-timeout>=2.3.0
60
+ Requires-Dist: pytest-split>=0.9.0
61
+ Requires-Dist: pytest-forked>=1.6.0
62
+ Requires-Dist: asyncpg>=0.30.0
63
+ Requires-Dist: aiomysql>=0.2.0
64
+ Requires-Dist: twilio>=9.6.3
65
+ Requires-Dist: qrcode>=8.2
66
+ Requires-Dist: aiofiles>=24.1.0
67
+ Requires-Dist: bcrypt>=4.3.0
68
+ Requires-Dist: plotly>=6.2.0
69
+ Requires-Dist: redis[asyncio]>=6.2.0
70
+ Requires-Dist: faker>=37.4.0
71
+ Requires-Dist: structlog>=25.4.0
72
+ Requires-Dist: authlib>=1.6.0
73
+ Requires-Dist: slowapi>=0.1.9
74
+ Requires-Dist: limits>=5.4.0
75
+ Requires-Dist: prometheus-client>=0.22.1
76
+ Requires-Dist: opentelemetry-api>=1.34.1
77
+ Requires-Dist: opentelemetry-sdk>=1.34.1
78
+ Requires-Dist: passlib>=1.7.4
79
+ Requires-Dist: pyotp>=2.9.0
80
+ Requires-Dist: opentelemetry-instrumentation-fastapi>=0.55b1
81
+ Requires-Dist: seaborn>=0.13.2
82
+ Requires-Dist: sqlparse>=0.5.3
83
+ Provides-Extra: dev
84
+ Requires-Dist: pytest>=7.0; extra == "dev"
85
+ Requires-Dist: pytest-cov>=3.0; extra == "dev"
86
+ Requires-Dist: black>=22.0; extra == "dev"
87
+ Requires-Dist: isort>=5.10; extra == "dev"
88
+ Requires-Dist: mypy>=0.9; extra == "dev"
89
+ Dynamic: author
90
+ Dynamic: home-page
91
+ Dynamic: license-file
92
+ Dynamic: requires-python
93
+
94
+ # Kailash Python SDK
95
+
96
+ <p align="center">
97
+ <a href="https://pypi.org/project/kailash/"><img src="https://img.shields.io/pypi/v/kailash.svg" alt="PyPI version"></a>
98
+ <a href="https://pypi.org/project/kailash/"><img src="https://img.shields.io/pypi/pyversions/kailash.svg" alt="Python versions"></a>
99
+ <a href="https://pepy.tech/project/kailash"><img src="https://static.pepy.tech/badge/kailash" alt="Downloads"></a>
100
+ <img src="https://img.shields.io/badge/license-MIT-green.svg" alt="MIT License">
101
+ <img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black">
102
+ <img src="https://img.shields.io/badge/tests-2400%2B%20passing-brightgreen.svg" alt="Tests: 2400+ Passing">
103
+ <img src="https://img.shields.io/badge/performance-11x%20faster-yellow.svg" alt="Performance: 11x Faster">
104
+ <img src="https://img.shields.io/badge/docker-integrated-blue.svg" alt="Docker: Integrated">
105
+ <img src="https://img.shields.io/badge/AI-MCP%20validated-purple.svg" alt="AI: MCP Validated">
106
+ </p>
107
+
108
+ <p align="center">
109
+ <strong>Enterprise-Grade Workflow Orchestration Platform</strong>
110
+ </p>
111
+
112
+ <p align="center">
113
+ Build production-ready applications with zero-config database operations, multi-channel platforms, and comprehensive AI integration. From rapid prototyping to enterprise deployment.
114
+ </p>
115
+
116
+ ---
117
+
118
+ ## 🔥 Latest Release: v0.8.1 (January 17, 2025)
119
+
120
+ **Complete App Framework & PyPI Integration**
121
+
122
+ - 🚀 **Complete App Framework**: DataFlow, Nexus, AI Registry, and User Management platforms
123
+ - 📦 **PyPI Integration**: All packages available with proper extras support
124
+ - 🏢 **Enterprise Ready**: Zero-config database operations and multi-channel deployment
125
+ - ⚡ **Performance Breakthrough**: 11x faster test execution with 100% pass rate
126
+ - 🧪 **Testing Excellence**: 2,400+ tests with comprehensive Docker integration
127
+
128
+ [Full Changelog](changelogs/releases/v0.8.1-2025-01-17.md) | [PyPI Packages](https://pypi.org/project/kailash/)
129
+
130
+ ## 🎯 What Makes Kailash Different
131
+
132
+ ### 🏗️ **Complete Application Framework**
133
+ Not just a toolkit - complete production-ready applications built on enterprise-grade infrastructure:
134
+
135
+ - **DataFlow**: Zero-config database operations with MongoDB-style queries
136
+ - **Nexus**: Multi-channel platform (API + CLI + MCP) from single codebase
137
+ - **AI Registry**: Advanced RAG with 47+ specialized nodes
138
+ - **User Management**: Enterprise RBAC system with comprehensive security
139
+
140
+ ### 🚀 **Performance & Scale**
141
+ - **11x faster test execution** (117s → 10.75s) with smart isolation
142
+ - **31.8M operations/second** query performance baseline
143
+ - **30,000+ iterations/second** cyclic workflow execution
144
+ - **100% test pass rate** across 2,400+ tests
145
+
146
+ ### 🤖 **AI-First Architecture**
147
+ - **Real MCP execution** by default for all AI agents
148
+ - **47+ specialized RAG nodes** for document processing
149
+ - **Self-organizing agent pools** with intelligent coordination
150
+ - **Complete LLM integration** across all platforms
151
+
152
+ ## 🏗️ Project Architecture
153
+
154
+ ### Three-Layer Architecture
155
+ ```
156
+ ┌─────────────────────────────────────────────────────────────────┐
157
+ │ 🎨 Studio UI Layer │
158
+ │ Visual workflow builder (coming soon) │
159
+ └─────────────────────────────────────────────────────────────────┘
160
+
161
+ ┌─────────────────────────────────────────────────────────────────┐
162
+ │ 🏢 Application Framework │
163
+ │ DataFlow │ Nexus │ AI Registry │ User Management │... │
164
+ └─────────────────────────────────────────────────────────────────┘
165
+
166
+ ┌─────────────────────────────────────────────────────────────────┐
167
+ │ 🎯 Core SDK Foundation │
168
+ │ 115+ Nodes │ Workflows │ Runtime │ Security │ Testing │
169
+ └─────────────────────────────────────────────────────────────────┘
170
+ ```
171
+
172
+ ### Current Project Structure
173
+ ```
174
+ kailash_python_sdk/
175
+ ├── src/kailash/ # Core SDK - 115+ nodes, workflows, runtime
176
+ ├── apps/ # Complete Applications
177
+ │ ├── kailash-dataflow/ # Zero-config database operations
178
+ │ ├── kailash-nexus/ # Multi-channel platform
179
+ │ ├── kailash-mcp/ # Enterprise MCP platform
180
+ │ ├── ai_registry/ # Advanced RAG capabilities
181
+ │ └── user_management/ # Enterprise RBAC system
182
+ ├── tests/ # 2,400+ tests (100% pass rate)
183
+ ├── docs/ # Comprehensive documentation
184
+ └── examples/ # Feature validation examples
185
+ ```
186
+
187
+ ## 🚀 Quick Start
188
+
189
+ ### Installation Options
190
+
191
+ ```bash
192
+ # Core SDK only
193
+ pip install kailash
194
+
195
+ # With complete app frameworks
196
+ pip install kailash[dataflow,nexus] # Database + multi-channel
197
+ pip install kailash[all] # Everything
198
+
199
+ # Or install apps directly
200
+ pip install kailash-dataflow # Zero-config database framework
201
+ pip install kailash-nexus # Multi-channel platform
202
+ ```
203
+
204
+ ### DataFlow: Zero-Config Database Operations
205
+
206
+ ```python
207
+ from dataflow import DataFlow
208
+
209
+ # Zero-configuration database operations
210
+ app = DataFlow()
211
+
212
+ # MongoDB-style queries across any database
213
+ users = app.query("users").where({"age": {"$gt": 18}}).limit(10)
214
+
215
+ # Redis-powered caching with smart invalidation
216
+ cached_result = app.cache().get("user_stats",
217
+ lambda: app.query("users").aggregate([
218
+ {"$group": {"_id": "$department", "count": {"$sum": 1}}}
219
+ ])
220
+ )
221
+
222
+ # Start enterprise API server
223
+ app.start() # Automatic API generation, monitoring, health checks
224
+ ```
225
+
226
+ ### Nexus: Multi-Channel Platform
227
+
228
+ ```python
229
+ from nexus import Nexus
230
+
231
+ # Single codebase → API + CLI + MCP
232
+ app = Nexus()
233
+
234
+ # Register workflow once, available on all channels
235
+ @app.workflow
236
+ def process_data(input_data):
237
+ return {"processed": len(input_data)}
238
+
239
+ # Zero-config startup
240
+ app.start()
241
+
242
+ # Now available as:
243
+ # - REST API: POST /workflows/process_data
244
+ # - CLI: nexus run process_data
245
+ # - MCP: AI agents can call process_data tool
246
+ ```
247
+
248
+ ### Core SDK: Advanced Workflows
249
+
250
+ ```python
251
+ from kailash.workflow.builder import WorkflowBuilder
252
+ from kailash.runtime.local import LocalRuntime
253
+
254
+ # Build enterprise workflow
255
+ workflow = WorkflowBuilder()
256
+ workflow.add_node("LLMAgentNode", "ai_agent", {
257
+ "model": "gpt-4",
258
+ "use_real_mcp": True # Real MCP execution by default
259
+ })
260
+ workflow.add_node("AsyncSQLDatabaseNode", "database", {
261
+ "connection_string": "postgresql://...",
262
+ "query": "SELECT * FROM customers WHERE risk_score > $1",
263
+ "parameter_types": ["DECIMAL"] # PostgreSQL type inference
264
+ })
265
+
266
+ # Add cyclic optimization
267
+ cycle = workflow.create_cycle("optimization")
268
+ cycle.connect("processor", "evaluator") \
269
+ .connect("evaluator", "processor") \
270
+ .max_iterations(50) \
271
+ .converge_when("quality > 0.95") \
272
+ .build()
273
+
274
+ # Execute with enterprise monitoring
275
+ runtime = LocalRuntime()
276
+ results, run_id = runtime.execute(workflow.build())
277
+ ```
278
+
279
+ ## 🎯 Key Features
280
+
281
+ ### 🧪 **Testing Excellence**
282
+ - **2,400+ tests** with 100% pass rate
283
+ - **11x performance improvement** (117s → 10.75s execution)
284
+ - **Docker integration** for real PostgreSQL, Redis, MongoDB
285
+ - **Smart isolation** without process forking overhead
286
+
287
+ ### 🏢 **Enterprise Ready**
288
+ - **Multi-tenant architecture** with complete isolation
289
+ - **RBAC/ABAC security** with fine-grained permissions
290
+ - **Audit logging** with compliance frameworks (GDPR, CCPA)
291
+ - **Distributed transactions** with Saga/2PC patterns
292
+ - **Circuit breaker** and resilience patterns
293
+
294
+ ### 🤖 **AI Integration**
295
+ - **115+ production nodes** including 47+ specialized RAG nodes
296
+ - **Real MCP execution** by default for all AI agents
297
+ - **Self-organizing agent pools** with intelligent coordination
298
+ - **Complete LLM integration** with embeddings and vector search
299
+
300
+ ### ⚡ **Performance & Scale**
301
+ - **31.8M operations/second** query performance baseline
302
+ - **Connection pooling** with automatic resource management
303
+ - **Redis caching** with intelligent invalidation patterns
304
+ - **Async/await** throughout with proper separation
305
+
306
+ ## 🏗️ Node Ecosystem (115+ Nodes)
307
+
308
+ ### Core Categories
309
+ - **Data Nodes**: CSVReaderNode, AsyncSQLDatabaseNode, QueryBuilderNode, QueryCacheNode
310
+ - **AI Nodes**: LLMAgentNode, IterativeLLMAgentNode, EmbeddingGeneratorNode, SelfOrganizingAgentNode
311
+ - **RAG Nodes**: 47+ specialized nodes for document processing and retrieval
312
+ - **Security Nodes**: ThreatDetectionNode, AuditLogNode, AccessControlManager
313
+ - **Monitoring Nodes**: TransactionMetricsNode, DeadlockDetectorNode, PerformanceAnomalyNode
314
+ - **Transaction Nodes**: DistributedTransactionManagerNode, SagaCoordinatorNode
315
+
316
+ ### Advanced Features
317
+ - **Cyclic Workflows**: CycleBuilder API with convergence detection
318
+ - **Distributed Transactions**: Automatic Saga/2PC pattern selection
319
+ - **Real-time Monitoring**: WebSocket streaming with performance metrics
320
+ - **Enterprise Security**: Multi-factor auth, threat detection, compliance
321
+
322
+ ## 📊 Performance Metrics
323
+
324
+ ### Recent Achievements
325
+ - **11x faster test execution**: 117s → 10.75s with smart isolation
326
+ - **100% test pass rate**: 2,400+ tests across all categories
327
+ - **31.8M operations/second**: Query performance baseline
328
+ - **30,000+ iterations/second**: Cyclic workflow execution
329
+
330
+ ### Enterprise Benchmarks
331
+ - **Query Cache**: 99.9% hit rate with intelligent invalidation
332
+ - **Connection Pooling**: 10,000+ concurrent connections
333
+ - **MCP Integration**: 407 tests with 100% pass rate
334
+ - **Security**: Zero vulnerabilities in production deployment
335
+
336
+ ## 🚀 Applications Built with Kailash
337
+
338
+ ### 1. DataFlow - Zero-Config Database Platform
339
+ ```bash
340
+ pip install kailash-dataflow
341
+ ```
342
+ - **MongoDB-style queries** across PostgreSQL, MySQL, SQLite
343
+ - **Redis caching** with enterprise-grade invalidation
344
+ - **Automatic API generation** with OpenAPI documentation
345
+ - **4 production examples** with complete deployment guides
346
+
347
+ ### 2. Nexus - Multi-Channel Platform
348
+ ```bash
349
+ pip install kailash-nexus
350
+ ```
351
+ - **Unified API, CLI, and MCP** from single codebase
352
+ - **Enterprise orchestration** with multi-tenancy
353
+ - **Session management** with cross-channel synchronization
354
+ - **105 tests** with comprehensive validation
355
+
356
+ ### 3. AI Registry - Advanced RAG Platform
357
+ ```bash
358
+ pip install kailash-ai-registry
359
+ ```
360
+ - **47+ specialized RAG nodes** for document processing
361
+ - **Advanced retrieval** with semantic search and re-ranking
362
+ - **Multi-modal support** with image and text processing
363
+ - **Enterprise deployment** with scalable architecture
364
+
365
+ ### 4. User Management - Enterprise RBAC
366
+ ```bash
367
+ pip install kailash-user-management
368
+ ```
369
+ - **Complete RBAC system** with role hierarchy
370
+ - **Multi-factor authentication** with enterprise integration
371
+ - **Audit logging** with compliance frameworks
372
+ - **Django-style capabilities** built on SDK architecture
373
+
374
+ ## 🧪 Testing & Quality
375
+
376
+ ### Comprehensive Test Suite
377
+ ```bash
378
+ # All tests (2,400+ tests)
379
+ pytest
380
+
381
+ # Fast unit tests (11x faster execution)
382
+ pytest tests/unit/ --timeout=1
383
+
384
+ # Integration tests with Docker
385
+ pytest tests/integration/ --timeout=5
386
+
387
+ # End-to-end scenarios
388
+ pytest tests/e2e/ --timeout=10
389
+ ```
390
+
391
+ ### Test Infrastructure
392
+ - **Docker Integration**: Real PostgreSQL, Redis, MongoDB for testing
393
+ - **Smart Isolation**: Fixture-based isolation without process forking
394
+ - **Performance Monitoring**: Automated benchmarks and regression detection
395
+ - **100% Pass Rate**: Comprehensive fixes across all test categories
396
+
397
+ ## 🛡️ Security & Compliance
398
+
399
+ ### Enterprise Security
400
+ - **Multi-factor Authentication**: TOTP, WebAuthn, SMS integration
401
+ - **Threat Detection**: Real-time analysis with behavior monitoring
402
+ - **Access Control**: Fine-grained RBAC/ABAC with policy engines
403
+ - **Audit Logging**: Comprehensive trails with integrity verification
404
+
405
+ ### Compliance Frameworks
406
+ - **GDPR/CCPA**: Built-in data protection and privacy controls
407
+ - **SOX**: Financial reporting controls and audit trails
408
+ - **HIPAA**: Healthcare data protection patterns
409
+ - **Multi-tenant Isolation**: Complete tenant-aware operations
410
+
411
+ ## 📚 Documentation & Resources
412
+
413
+ ### For Users
414
+ - **[SDK Users Guide](sdk-users/)**: Complete workflow development guide
415
+ - **[Node Selection Guide](sdk-users/nodes/node-selection-guide.md)**: Smart node selection with decision trees
416
+ - **[Enterprise Patterns](sdk-users/enterprise/)**: Production deployment patterns
417
+ - **[API Documentation](https://integrum.github.io/kailash-python-sdk)**: Complete API reference
418
+
419
+ ### For Contributors
420
+ - **[SDK Contributors Guide](sdk-contributors/)**: Internal SDK development
421
+ - **[Architecture Decisions](sdk-contributors/architecture/)**: ADRs and design decisions
422
+ - **[Testing Guide](tests/README.md)**: 3-tier testing strategy
423
+
424
+ ### Quick References
425
+ - **[Cheatsheet](sdk-users/cheatsheet/)**: 53 copy-paste patterns
426
+ - **[Common Mistakes](sdk-users/validation/common-mistakes.md)**: Error patterns and solutions
427
+ - **[Performance Guide](sdk-users/performance/)**: Optimization patterns
428
+
429
+ ## 🚢 Production Deployment
430
+
431
+ ### Container Deployment
432
+ ```bash
433
+ # Export workflow to container format
434
+ python -c "
435
+ from kailash.utils.export import export_workflow
436
+ export_workflow(workflow, 'production.yaml', format='kailash')
437
+ "
438
+
439
+ # Deploy to Kailash platform
440
+ kailash deploy production.yaml --environment prod
441
+ ```
442
+
443
+ ### Monitoring & Observability
444
+ ```python
445
+ from kailash.visualization import DashboardServer
446
+
447
+ # Real-time monitoring dashboard
448
+ server = DashboardServer(port=8080)
449
+ server.start()
450
+ # Open http://localhost:8080 for live metrics
451
+ ```
452
+
453
+ ### Enterprise Features
454
+ - **Multi-tenant deployment** with complete isolation
455
+ - **Distributed transactions** with automatic recovery
456
+ - **Circuit breaker patterns** for resilience
457
+ - **Health monitoring** with automated alerting
458
+
459
+ ## 🤝 Contributing
460
+
461
+ We use a **Claude Code-driven workflow** for all development:
462
+
463
+ ### New Team Member?
464
+ **Start Here → [NEW_TEAM_MEMBER.md](NEW_TEAM_MEMBER.md)**
465
+
466
+ ### Development Workflow
467
+ ```bash
468
+ # Clone and setup
469
+ git clone https://github.com/integrum/kailash-python-sdk.git
470
+ cd kailash-python-sdk
471
+ uv sync
472
+
473
+ # Run tests (2,400+ tests)
474
+ pytest tests/unit/ --timeout=1 # Fast unit tests
475
+ pytest tests/integration/ --timeout=5 # Integration tests
476
+ pytest tests/e2e/ --timeout=10 # End-to-end tests
477
+
478
+ # Code quality
479
+ black .
480
+ isort .
481
+ ruff check .
482
+ ```
483
+
484
+ ### Claude Code Workflow
485
+ All project management through conversational AI:
486
+ - **No manual TODO editing** - Claude Code handles all updates
487
+ - **No direct GitHub issues** - Created through planning sessions
488
+ - **All progress tracked** - Through natural conversation
489
+
490
+ See [Contributing Guide](CONTRIBUTING.md) and [sdk-contributors/CLAUDE.md](sdk-contributors/CLAUDE.md).
491
+
492
+ ## 📈 Project Status
493
+
494
+ ### ✅ v0.8.1 - Complete App Framework
495
+ - **Complete Application Framework**: DataFlow, Nexus, AI Registry, User Management
496
+ - **PyPI Integration**: All packages available with proper extras support
497
+ - **Performance Breakthrough**: 11x faster test execution
498
+ - **Testing Excellence**: 2,400+ tests with 100% pass rate
499
+ - **Enterprise Ready**: Production deployment patterns
500
+
501
+ ### ✅ v0.7.0 - Major Framework Release
502
+ - **DataFlow Platform**: Zero-config database operations
503
+ - **Nexus Platform**: Multi-channel orchestration
504
+ - **AI Registry**: Advanced RAG capabilities
505
+ - **User Management**: Enterprise RBAC system
506
+ - **Testing Infrastructure**: Docker integration, comprehensive validation
507
+
508
+ ### 🚧 Roadmap
509
+ - **Visual Workflow Builder**: Studio UI for drag-and-drop workflow creation
510
+ - **Advanced Analytics**: ML-powered workflow optimization
511
+ - **Cloud Integration**: Native AWS/GCP/Azure deployment
512
+ - **Mobile SDKs**: iOS and Android workflow execution
513
+
514
+ ## 📄 License
515
+
516
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
517
+
518
+ ## 🙏 Acknowledgments
519
+
520
+ Built with ❤️ by the Integrum team for the Kailash ecosystem.
521
+
522
+ Special recognition for the **11x performance breakthrough** and **100% test pass rate** achieved through innovative engineering and comprehensive testing strategies.
523
+
524
+ ---
525
+
526
+ <p align="center">
527
+ <strong>Ready to build enterprise-grade applications?</strong><br>
528
+ <a href="https://pypi.org/project/kailash/">Install from PyPI</a> •
529
+ <a href="sdk-users/README.md">Documentation</a> •
530
+ <a href="examples/">Examples</a> •
531
+ <a href="https://github.com/integrum/kailash-python-sdk">GitHub</a>
532
+ </p>