An open API service indexing awesome lists of open source software.

https://github.com/oculix-org/SikuliX1

SikuliX version 2.0.0+ (2019+)
https://github.com/oculix-org/SikuliX1

java java-aware-languages jython-support linux macos macosm1 opencv tesseract-ocr visual-automation visual-testing windows-10 windows11

Last synced: 1 day ago
JSON representation

SikuliX version 2.0.0+ (2019+)

Awesome Lists containing this project

README

          


[![SikuliX](https://raw.githubusercontent.com/oculix-org/SikuliX1/master/Support/sikulix-red.png)](https://sikulix.github.io)


Visual Automation Framework powered by Computer Vision


If you can see it, you can automate it.


Version
License
Issues
Stars


OpenCV · Image Recognition · GUI Automation · Cross-Platform · Java / Python / Ruby

---


## SikuliX is alive again

SikuliX is now actively maintained under [**oculix-org**](https://github.com/oculix-org), with the full agreement of its original creator [**RaiMan**](https://github.com/RaiMan).

> A huge thank you to RaiMan for building and maintaining SikuliX for years,
> and for laying the foundations of visual automation as we know it today.

The goal is simple: **stabilize, modernize and extend SikuliX** while preserving what made it powerful from the start.


## What is SikuliX

SikuliX uses **computer vision** (powered by [OpenCV](https://opencv.org/)) to identify and interact with anything visible on your screen — across **Windows**, **macOS** and **Linux**.

It locates GUI elements through **image recognition**, then drives them with simulated mouse and keyboard actions. No access to source code, DOM or internal APIs required.




When to use SikuliX



  • No access to the application's internals

  • The UI is not DOM-based (desktop, legacy, embedded)

  • Source code is unavailable or closed

  • Visual regression testing is needed

  • RPA on any visible interface




How it works




  1. Capture — screenshot a GUI element


  2. Find — OpenCV locates it on screen


  3. Act — click, type, drag, wait


  4. Verify — assert visual state




## Project Status

| | Status |
|---|---|
| **Maintenance** | Actively maintained |
| **Issues & PRs** | Reviewed and triaged |
| **CI/CD** | Automated builds for Windows, macOS, Linux |
| **macOS Apple Silicon** | Supported (M1 / M2 / M4) |


## Current Version

**Latest stable: `2.0.5`**

| Platform | Support |
|---|---|
| Windows (x86_64) | Supported |
| macOS Intel | Supported |
| macOS Apple Silicon (M1+) | Supported |
| Linux (x86_64) | Supported |
| Java | 8+ (17 recommended) |

**Resources:**
- [Changes, issues and enhancements](https://github.com/oculix-org/SikuliX1/wiki/About-actual-release-version)
- [List of fixes](https://github.com/oculix-org/SikuliX1/wiki/ZZZ-Bug-Fixes)
- [Get SikuliX ready to use](https://github.com/oculix-org/SikuliX1/releases)
- [SikuliX Documentation](https://sikulix-2014.readthedocs.io/en/latest/index.html)


## OculiX 3.0.1 — Development Build

> The next evolution of SikuliX. 511 files changed, 123,728 insertions over SikuliX 2.0.5.


Windows
Available
Download


Linux
Available
Download


macOS
Validation in progress
Download (beta)

**What's new in 3.0.1:**

| Category | Details |
|---|---|
| **macOS fix** | Fixed ASM class conflict (cglib/rococoa) that crashed Jython on macOS — the IDE now starts on Apple Silicon (M1/M2/M4) |
| **IDE fix** | `-v` (verbose) flag no longer blocks GUI display |
| **VNC stack** | Full VNC integration — `VNCScreen`, `VNCRobot`, `VNCClient`, `VNCFrameBuffer`, `VNCClipboard`, `XKeySym` (2200+ key mappings) |
| **SSH** | Native SSH tunnels via embedded `jcraft/jsch` — no external tools required |
| **Android ADB** | `ADBClient`, `ADBDevice`, `ADBRobot`, `ADBScreen` — control Android 12+ devices via WiFi or USB, no Appium needed |
| **PaddleOCR** | Neural OCR engine integration — `PaddleOCREngine`, `PaddleOCRClient` — text detection with confidence scoring on any screen |
| **OpenCV** | Upgraded to OpenCV 4.10.0 via [Apertix](https://github.com/julienmerconsulting/Apertix) |
| **Script runners** | Jython, JRuby, PowerShell, AppleScript, Robot Framework |
| **Java** | Java 17 recommended (Java 8+ still supported) |
| **CI/CD** | Automated builds for Windows, macOS, Linux via GitHub Actions |


## Quick Start

```bash
# Requires Java 8+ (Java 17 recommended)
java -version

# SikuliX 2.0.5 (legacy stable)
java -jar sikulixide.jar

# OculiX 3.0.1 (latest development build)
java -jar oculixide-3.0.1-windows.jar # Windows
java -jar oculixide-3.0.1-macos.jar # macOS
java -jar oculixide-3.0.1-linux.jar # Linux
```

**Maven dependency (SikuliX 2.0.5):**

```xml

com.sikulix
sikulixapi
2.0.5

```


## Scripting Languages

SikuliX scripts can be written in:

| Language | Extension | Engine |
|---|---|---|
| **Python** | `.py` | Jython 2.7 |
| **Ruby** | `.rb` | JRuby 9.2 |
| **Java** | `.java` | Native |
| **PowerShell** | `.ps1` | OculiX 3.0.1+ |
| **AppleScript** | `.scpt` | OculiX 3.0.1+ (macOS) |


## The Vision Pipeline

```
Screen Capture ──► OpenCV Match ──► Region Located ──► Mouse / Keyboard Action
│ │
▼ ▼
Confidence Score Visual Verification
```

SikuliX captures the screen, runs template matching via OpenCV to find target regions, and performs pixel-accurate interactions. The entire pipeline runs locally — no cloud, no external API, no data leaves your machine.


---





SikuliX — Computer Vision meets Desktop Automation



Maintained by oculix-org ·
Founded by RaiMan ·
MIT License