Skip to content

Latest commit

ย 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‡บ๐Ÿ‡ธ English ย |ย  ๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡

MyEAP - Enterprise Equipment Automation Program

Enterprise-grade Equipment Automation Program for Semiconductor Manufacturing

Python Version License GitHub Stars Build Status


Quick Start

git clone https://github.com/fzrai/myeap.git
cd myeap
uv sync
uv run pytest
uv run uvicorn myeap.api.main:app --reload

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                           Kubernetes Cluster                                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚                      MES Integration Layer                       โ”‚       โ”‚
โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                  โ”‚       โ”‚
โ”‚  โ”‚    โ”‚   MQTT   โ”‚   โ”‚   REST   โ”‚   โ”‚  Kafka   โ”‚                  โ”‚       โ”‚
โ”‚  โ”‚    โ”‚  Adapter โ”‚   โ”‚  Gateway โ”‚   โ”‚ Consumer โ”‚                  โ”‚       โ”‚
โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                  โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”‚                                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚                      Shared Services Layer                       โ”‚       โ”‚
โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚       โ”‚
โ”‚  โ”‚    โ”‚ Recipe โ”‚ โ”‚ Alarm  โ”‚ โ”‚  Data  โ”‚ โ”‚ Track  โ”‚ โ”‚ SPC/FDC  โ”‚  โ”‚       โ”‚
โ”‚  โ”‚    โ”‚ Managerโ”‚ โ”‚ Handlerโ”‚ โ”‚Collect โ”‚ โ”‚Service โ”‚ โ”‚  Engine  โ”‚  โ”‚       โ”‚
โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”‚                                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚                      Device Control Layer                        โ”‚       โ”‚
โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”‚       โ”‚
โ”‚  โ”‚    โ”‚ SECS/GEM  โ”‚   โ”‚ Equipment โ”‚   โ”‚    Process       โ”‚        โ”‚       โ”‚
โ”‚  โ”‚    โ”‚  Driver   โ”‚   โ”‚   State   โ”‚   โ”‚   Controller     โ”‚        โ”‚       โ”‚
โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚       โ”‚
โ”‚  โ”‚                                                                       โ”‚       โ”‚
โ”‚  โ”‚    [Cleaner] [CVD] [PVD] [Etcher] [Lithography] [CMP] ...          โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”‚                                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚                          Data Layer                              โ”‚       โ”‚
โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚       โ”‚
โ”‚  โ”‚    โ”‚   Redis   โ”‚ โ”‚PostgreSQL โ”‚ โ”‚TimescaleDBโ”‚ โ”‚  MinIO  โ”‚      โ”‚       โ”‚
โ”‚  โ”‚    โ”‚  (Cache)  โ”‚ โ”‚ (Primary) โ”‚ โ”‚(Timeseries)โ”‚ โ”‚ (Recipe)โ”‚      โ”‚       โ”‚
โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Features

SECS/GEM Protocol

  • SECS-II message encoding/decoding
  • HSMS connection management with heartbeat
  • GEM state machine (SEMI E30)
  • Standard message handling (S1-S15)
  • Auto reconnection with exponential backoff

MES Integration

  • MQTT adapter (pub/sub messaging)
  • REST API gateway
  • Kafka adapter (event streaming)
  • Work order reception and status reporting
  • Alarm and throughput reporting

Equipment Control

  • Unified equipment abstraction
  • Multi-chamber coordination
  • Process flow control
  • Plugin-based equipment support
  • Cleaner, CVD, PVD, Etcher plugins

Recipe Management

  • Version control (semantic versioning)
  • Approval workflow
  • Upload/download to equipment
  • Recipe comparison
  • Parameterized templates

Alarm Management

  • Multi-level severity (CRITICAL/MAJOR/MINOR/WARNING)
  • Multi-channel notifications (Email/SMS/Webhook)
  • Auto-escalation
  • Alarm suppression
  • Statistics and analytics

Data Collection

  • Real-time data collection
  • Multiple sampling strategies (time, change, statistical, smart)
  • Limit monitoring (UCL/LCL/USL/LSL)
  • High-frequency process data

SPC/FDC Engine

  • Control charts (X-bar, R, S, X-MR, C, U, P, NP, EWMA, CUSUM)
  • 8 Westgard SPC rules
  • Process capability (Cp, Cpk, Pp, Ppk, sigma level)
  • Fault detection and classification
  • Feature extraction and anomaly detection

Tracking & Traceability

  • Carrier management (FOUP, FOSB)
  • Wafer-level tracking
  • Chamber mapping
  • Forward/backward traceability
  • Impact analysis

Observability

  • Prometheus metrics
  • OpenTelemetry distributed tracing
  • Structured logging
  • Liveness/readiness health checks

Security & Compliance

  • OAuth2/LDAP authentication
  • Role-based access control (RBAC)
  • Audit trail
  • Electronic signature (21 CFR Part 11)

Development Status

Module Status Tests
SECS/GEM Protocol โœ… Done 47+
MES Integration โœ… Done 81+
Device Control โœ… Done 75+
Recipe Management โœ… Done 105+
Alarm Management โœ… Done 71+
Data Collection โœ… Done 84+
Tracking Service โœ… Done 62+
SPC Engine โœ… Done 46+
FDC Engine โœ… Done 89+
Process Engine ๐Ÿ”„ WIP -
AI/ML Module ๐Ÿ”„ WIP -
Digital Twin ๐Ÿ”„ WIP -

Tech Stack

Category Technology
Language Python 3.11+
Async Framework asyncio, FastAPI, uvicorn
Protocol pycomm3 (SECS/GEM/HSMS)
Messaging Apache Kafka, MQTT
Database PostgreSQL (Citus), Redis, TimescaleDB
Object Storage MinIO (S3-compatible)
Container Docker, Kubernetes
Monitoring Prometheus, Grafana, Jaeger
AI/ML PyTorch, scikit-learn
Security OAuth2, JWT

Project Structure

myeap/
โ”œโ”€โ”€ src/myeap/
โ”‚   โ”œโ”€โ”€ core/          # Core infrastructure
โ”‚   โ”œโ”€โ”€ observability/  # Observability
โ”‚   โ”œโ”€โ”€ db/            # Database
โ”‚   โ”œโ”€โ”€ secs/          # SECS/GEM protocol
โ”‚   โ”œโ”€โ”€ mes/           # MES integration
โ”‚   โ”œโ”€โ”€ device/        # Equipment control
โ”‚   โ”œโ”€โ”€ recipe/        # Recipe management
โ”‚   โ”œโ”€โ”€ alarm/         # Alarm management
โ”‚   โ”œโ”€โ”€ tracking/      # Tracking service
โ”‚   โ”œโ”€โ”€ data/          # Data collection
โ”‚   โ”œโ”€โ”€ spc/           # SPC engine
โ”‚   โ”œโ”€โ”€ fdc/           # FDC engine
โ”‚   โ”œโ”€โ”€ ai/            # AI/ML module
โ”‚   โ”œโ”€โ”€ twin/          # Digital twin
โ”‚   โ”œโ”€โ”€ security/      # Security
โ”‚   โ””โ”€โ”€ api/           # REST API
โ”œโ”€โ”€ tests/             # Tests
โ”œโ”€โ”€ configs/           # Config files
โ”œโ”€โ”€ docs/              # Documentation
โ””โ”€โ”€ alembic/           # DB migrations

Documentation

Development

# Format code
uv run black .

# Lint
uv run ruff check .

# Type check
uv run mypy src/

# Run tests
uv run pytest

# With coverage
uv run pytest --cov=myeap --cov-report=html

Contributing

  1. Fork this repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'feat: Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Create a Pull Request

License

MIT License - see LICENSE


Made for Semiconductor Manufacturing

About

A eap project

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages