memra 0.2.9__py3-none-any.whl → 0.2.11__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.
- memra/__init__.py +1 -1
- memra/cli.py +41 -1
- {memra-0.2.9.dist-info → memra-0.2.11.dist-info}/METADATA +1 -1
- {memra-0.2.9.dist-info → memra-0.2.11.dist-info}/RECORD +8 -8
- {memra-0.2.9.dist-info → memra-0.2.11.dist-info}/WHEEL +0 -0
- {memra-0.2.9.dist-info → memra-0.2.11.dist-info}/entry_points.txt +0 -0
- {memra-0.2.9.dist-info → memra-0.2.11.dist-info}/licenses/LICENSE +0 -0
- {memra-0.2.9.dist-info → memra-0.2.11.dist-info}/top_level.txt +0 -0
memra/__init__.py
CHANGED
memra/cli.py
CHANGED
@@ -24,6 +24,9 @@ def run_demo():
|
|
24
24
|
print("🔧 Configuring environment...")
|
25
25
|
setup_environment()
|
26
26
|
|
27
|
+
# Step 2.5: Install dependencies
|
28
|
+
install_dependencies()
|
29
|
+
|
27
30
|
# Step 3: Start Docker containers
|
28
31
|
print("🐳 Starting Docker services...")
|
29
32
|
if not start_docker_services(demo_dir):
|
@@ -279,6 +282,38 @@ def setup_environment():
|
|
279
282
|
os.environ['DATABASE_URL'] = 'postgresql://postgres:postgres@localhost:5432/local_workflow'
|
280
283
|
print("✅ Set DATABASE_URL")
|
281
284
|
|
285
|
+
def install_dependencies():
|
286
|
+
"""Install required dependencies for the demo"""
|
287
|
+
try:
|
288
|
+
print("📦 Installing demo dependencies...")
|
289
|
+
dependencies = [
|
290
|
+
'requests==2.31.0',
|
291
|
+
'fastapi==0.104.1',
|
292
|
+
'uvicorn[standard]==0.24.0',
|
293
|
+
'pydantic==2.5.0',
|
294
|
+
'aiohttp',
|
295
|
+
'psycopg2-binary',
|
296
|
+
'httpx',
|
297
|
+
'huggingface_hub'
|
298
|
+
]
|
299
|
+
|
300
|
+
for dep in dependencies:
|
301
|
+
print(f" Installing {dep}...")
|
302
|
+
result = subprocess.run([
|
303
|
+
sys.executable, '-m', 'pip', 'install', dep
|
304
|
+
], capture_output=True, text=True)
|
305
|
+
|
306
|
+
if result.returncode != 0:
|
307
|
+
print(f"⚠️ Warning: Failed to install {dep}: {result.stderr}")
|
308
|
+
else:
|
309
|
+
print(f" ✅ {dep} installed")
|
310
|
+
|
311
|
+
print("✅ Dependencies installed")
|
312
|
+
|
313
|
+
except Exception as e:
|
314
|
+
print(f"⚠️ Warning: Could not install dependencies: {e}")
|
315
|
+
print(" You may need to install them manually: pip install requests fastapi uvicorn pydantic")
|
316
|
+
|
282
317
|
def start_docker_services(demo_dir):
|
283
318
|
"""Start Docker containers using docker-compose"""
|
284
319
|
try:
|
@@ -343,7 +378,8 @@ def run_etl_workflow(demo_dir):
|
|
343
378
|
real_demo_script = demo_dir / "etl_invoice_demo.py"
|
344
379
|
if real_demo_script.exists():
|
345
380
|
print("🎯 Running real ETL workflow...")
|
346
|
-
|
381
|
+
print("⏱️ Processing 15 files with delays - this may take 10-15 minutes")
|
382
|
+
result = subprocess.run([sys.executable, str(real_demo_script)], cwd=demo_dir, timeout=1800) # 30 minute timeout
|
347
383
|
return result.returncode == 0
|
348
384
|
else:
|
349
385
|
# Fallback to simplified demo
|
@@ -356,6 +392,10 @@ def run_etl_workflow(demo_dir):
|
|
356
392
|
print("❌ No demo script found")
|
357
393
|
return False
|
358
394
|
|
395
|
+
except subprocess.TimeoutExpired:
|
396
|
+
print("⏰ ETL workflow timed out after 30 minutes")
|
397
|
+
print("This is normal for large batches - the demo processes 15 files with delays")
|
398
|
+
return False
|
359
399
|
except Exception as e:
|
360
400
|
print(f"❌ Error running ETL workflow: {e}")
|
361
401
|
return False
|
@@ -1,12 +1,12 @@
|
|
1
|
-
memra/__init__.py,sha256=
|
2
|
-
memra/cli.py,sha256=
|
1
|
+
memra/__init__.py,sha256=vHFkBO96XsGb28-JKu-DyiBCCoHBQy21ctsMLpI9WaI,1109
|
2
|
+
memra/cli.py,sha256=pvhg4qU3g1x4tEGaZdWUBRuv40qZ76nvcgpojy_yRZs,15205
|
3
3
|
memra/discovery.py,sha256=yJIQnrDQu1nyzKykCIuzG_5SW5dIXHCEBLLKRWacIoY,480
|
4
4
|
memra/discovery_client.py,sha256=AbnKn6qhyrf7vmOvknEeDzH4tiGHsqPHtDaein_qaW0,1271
|
5
5
|
memra/execution.py,sha256=OXpBKxwBIjhACWL_qh8KHNndO8HUgB6gBF81AiQBBm0,34751
|
6
6
|
memra/models.py,sha256=3KvjPCaMFGIvI017AIHS23jGnEBZdKHspe1Fp8w0xa0,3418
|
7
7
|
memra/tool_registry.py,sha256=PDuWtiX_LX-vhKnx4JeL_ndUwG-oJ6bdhGe6iQeCDBw,15361
|
8
8
|
memra/tool_registry_client.py,sha256=dPIj6DMS5wdu99XmVm-NQYHKH_m6nsknCh4C_imTFig,4009
|
9
|
-
memra-0.2.
|
9
|
+
memra-0.2.11.dist-info/licenses/LICENSE,sha256=8OrnTd8DWwLWmUEj5srSLvT4PREfW1Qo1T5gEUIHPws,1062
|
10
10
|
memra-ops/app.py,sha256=S8B82gOAuT9x-NhmVLL9HM03Pde3Fa7QXm6TG1PEbbU,29439
|
11
11
|
memra-ops/config.py,sha256=6mBbS_stoEIhJDBqdJOalryAnyWeHbDy81mU1j08ids,969
|
12
12
|
memra-ops/mcp_bridge_server.py,sha256=tDEigRstIEAEu16F1ctCor2ny9CBbEOMY046bHdzFpE,47607
|
@@ -61,8 +61,8 @@ memra-workflows/propane_delivery/propane_delivery.py,sha256=ryvIxDjM9GJY9T6fFIqJ
|
|
61
61
|
memra-workflows/text_to_sql/complete_invoice_workflow_with_queries.py,sha256=x4wq3o_ogFnnrI6MQwEhqIiNH-NNwS5SXQUoKd_br7U,7428
|
62
62
|
memra-workflows/text_to_sql/complete_text_to_sql_system.py,sha256=Izj4ucXDXTWFY29SWr2YrEf3ZyXH4QCDEljNk4jlpI0,8991
|
63
63
|
memra-workflows/text_to_sql/file_discovery_demo.py,sha256=4R_QN0Y6OtHmnX6CvtwDXen122XCDrk-MRBOzxb_x_k,5306
|
64
|
-
memra-0.2.
|
65
|
-
memra-0.2.
|
66
|
-
memra-0.2.
|
67
|
-
memra-0.2.
|
68
|
-
memra-0.2.
|
64
|
+
memra-0.2.11.dist-info/METADATA,sha256=gDBBotiqtRA39nL5SCI6psMfVSUeYAFZ6ZeiLxTHl_U,10737
|
65
|
+
memra-0.2.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
66
|
+
memra-0.2.11.dist-info/entry_points.txt,sha256=LBVjwWoxWJRzNLgeByPn6xUvWFIRnqnemvAZgIoSt08,41
|
67
|
+
memra-0.2.11.dist-info/top_level.txt,sha256=IviXF9qSQY_BidRYund9zFaV-q1VMl6CuizwTAggQks,42
|
68
|
+
memra-0.2.11.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|