CLI
OptixLog CLI Overview
AI-powered research data organization for photonics workflows
OptixLog CLI
AI-powered research data organization for photonics and scientific workflows.
What is OptixLog CLI?
OptixLog CLI is a Rust-based command-line tool that:
- 🔍 Auto-detects file types - Tidy3D notebooks, MEEP simulations, GDS layouts, CSV data
- 📊 Extracts knowledge graphs - Simulations, structures, sources, monitors, relationships
- 🧠 Learns patterns - AI-powered experiment organization
- 💾 Stores in Neo4j - Graph database with semantic search
- 💬 AI Assistant - Natural language queries with Claude
Key Features
Intelligent File Parsing
Automatically extracts structured data from:
- Tidy3D Notebooks (
.ipynb) - Simulations, structures, sources, monitors - MEEP Simulations (
.py) - Geometry, materials, field monitors - GDS Layouts (
.gds) - Waveguides, rings, couplers with geometric analysis - CSV Data (
.csv) - Schema detection, statistical profiling, relationships - Excel Files (
.xlsx,.xls,.ods) - Multi-sheet analysis
Graph-Based Storage
All data stored in Neo4j knowledge graph:
// Find all ring resonators
MATCH (r:PhotonicsNode {type: "ring_resonator"})
RETURN r.properties.radius, r.properties.Q_factor
// Trace file lineage
MATCH path = (result:File)<-[:WAS_DERIVED_FROM*]-(source:File)
WHERE result.name = "final_analysis.csv"
RETURN pathAI-Powered Search
Natural language queries:
optixlog search "ring resonators with Q > 10000"
optixlog chat "show me all simulations from last week"
optixlog similar best_design.gdsPerformance
3.6x faster than baseline:
- ⚡ Batch database operations (100-200x faster)
- ⚡ Optimized parsing (50% faster CSV, 30% faster MEEP)
- ⚡ Parallel processing (Rayon + async)
- ⚡ Streaming for large files (10GB+ CSV support)
Architecture
OptixLog CLI
├─ Parsers (23 specialized)
│ ├─ Tidy3D Notebook Parser
│ ├─ MEEP Parser
│ ├─ GDS Parser (component inference)
│ ├─ CSV Data Engineer (streaming)
│ └─ Excel Parser
├─ Smart Ingestion (4-phase)
│ ├─ Fast Discovery
│ ├─ Photonics Parsing (parallel)
│ ├─ Pattern Learning (ML)
│ └─ Graph Storage (batch)
├─ Search Engine
│ ├─ Semantic Search (embeddings)
│ ├─ Hybrid Fusion
│ └─ Graph Traversal
└─ AI Agent
├─ LLM Client (Claude)
├─ Tool Calling
└─ Natural Language QueryUse Cases
Organize Research Data
optixlog add ~/Research/Simulations
# Automatically groups files into experiments
# Learns patterns from your labelingFind Similar Designs
optixlog similar best_ring.gds
# Finds geometrically similar designs
# Shows parameter comparisonsParameter Analysis
optixlog params coupling_gap --vs transmission
# Shows correlation plots
# Exports data for further analysisBuild Component Library
optixlog library add verified_coupler.gds \
--tags "tested,high-efficiency" \
--metrics "coupling=94%,loss=0.2dB"Quick Start
# 1. Setup Neo4j
docker run -d --name neo4j -p 7687:7687 \
-e NEO4J_AUTH=neo4j/password neo4j:latest
# 2. Initialize
optixlog init
# 3. Add data
optixlog add ~/my-research
# 4. Explore
optixlog chat
optixlog search "your query"
optixlog interactive # REPL mode