This document is generated from docs/reference/parity/java-to-go-seed.tsv and source surfaces in packages/api/pkg/sikuli/signatures.go and packages/api/proto/sikuli/v1/sikuli.proto.
| Java/SikuliX Symbol | Go Surface | gRPC RPC | Node API | Python API | Status | Notes |
|---|---|---|---|---|---|---|
Pattern.similar(double) |
(*Pattern).Similar(sim float64) |
Find, FindOnScreen |
Pattern().similar() |
Pattern().similar() |
parity-ready |
Similarity threshold semantics aligned. |
Pattern.exact() |
(*Pattern).Exact() |
Find, FindOnScreen |
Pattern().exact() |
Pattern().exact() |
parity-ready |
Exact matching path preserved. |
Pattern.targetOffset(dx,dy) |
(*Pattern).TargetOffset(dx,dy) |
Find, FindOnScreen |
Pattern().targetOffset(dx,dy) |
Pattern().target_offset(dx,dy) |
parity-ready |
Target-point offset supported. |
Pattern.resize(factor) |
(*Pattern).Resize(factor) |
Find, FindOnScreen |
Pattern().resize(factor) |
Pattern().resize(factor) |
parity-ready |
Scale intent mapped into matcher request. |
Finder.find(Pattern) |
(*Finder).Find(pattern), (*Finder).Iterate(pattern) |
Find |
Finder.find(...) via Region/Screen |
Region.find(...) |
parity-ready |
Go keeps explicit single-match returns and also exposes a no-throw compatibility iterator prep path. |
Finder.findAll(Pattern) |
(*Finder).FindAll(pattern), (*Finder).IterateAll(pattern) |
FindAll |
Region.findAll(...) |
Region.find_all(...) |
parity-ready |
Deterministic ordering documented, with additive iterator preparation for SikuliX-style traversal. |
Finder.hasNext() |
(*Finder).HasNext() |
n/a |
n/a |
n/a |
parity-ready |
Compatibility iterator exposes SikuliX-style traversal over the most recent match set. |
Finder.next() |
(*Finder).Next() |
n/a |
n/a |
n/a |
parity-ready |
Compatibility iterator advances through the prepared match set without raising FindFailed on exhaustion. |
Finder.exists(Pattern, timeout) |
(*Finder).Exists(pattern,timeout) |
ExistsOnScreen |
Region.exists(...) |
Region.exists(...) |
parity-ready |
Timeout polling semantics aligned. |
Finder.wait(Pattern, timeout) |
(*Finder).Wait(pattern,timeout) |
WaitOnScreen |
Region.wait(...) |
Region.wait(...) |
parity-ready |
Wait semantics exposed across clients. |
Finder.waitVanish(Pattern, timeout) |
(*Finder).WaitVanish(pattern,timeout) |
WaitOnScreen + negative check |
Region.waitVanish(...) |
Region.wait_vanish(...) |
partial |
Client-side vanish wrappers depend on repeated polling behavior. |
Region.findAnyList(List<Pattern>) |
(*Finder).FindAnyList(patterns), (*Region).FindAnyList(source,patterns), (LiveRegion).FindAnyList(patterns), (Screen).FindAnyList(patterns) |
n/a |
n/a |
n/a |
partial |
API-level multi-target helper returns one best match per matched pattern from a single source image or screen capture; client wrappers land in the client parity plan. |
Region.findBestList(List<Pattern>) |
(*Finder).FindBestList(patterns), (*Region).FindBestList(source,patterns), (LiveRegion).FindBestList(patterns), (Screen).FindBestList(patterns) |
n/a |
n/a |
n/a |
partial |
API-level best-of-list helper selects the highest-score match with deterministic tie-breaking; client wrappers land in the client parity plan. |
Region.waitAnyList(List<Pattern>, timeout) |
(*Finder).WaitAnyList(patterns,timeout), (*Region).WaitAnyList(source,patterns,timeout), (LiveRegion).WaitAnyList(patterns,timeout), (Screen).WaitAnyList(patterns,timeout) |
n/a |
n/a |
n/a |
partial |
Additive Go wait helper polls one source image or one live capture per cycle until any pattern matches or ErrTimeout. |
Region.waitBestList(List<Pattern>, timeout) |
(*Finder).WaitBestList(patterns,timeout), (*Region).WaitBestList(source,patterns,timeout), (LiveRegion).WaitBestList(patterns,timeout), (Screen).WaitBestList(patterns,timeout) |
n/a |
n/a |
n/a |
partial |
Additive Go wait helper returns the deterministic best match across the matched pattern list once any candidate appears. |
Region.find(Pattern) |
(*Region).Find(source,pattern) |
FindOnScreen |
Region.find(pattern) |
Region.find(pattern) |
parity-ready |
Region-oriented search contract preserved. |
Region.click(Pattern) |
Region + InputController |
ClickOnScreen |
Region.click(pattern) |
Region.click(pattern) |
parity-ready |
Server-side capture + click orchestration. |
Region.hover(Pattern) |
Region + InputController.MoveMouse |
FindOnScreen + MoveMouse |
Region.hover(pattern) |
Region.hover(pattern) |
parity-ready |
Hover implemented as find target + move. |
Region.type(text) |
InputController.TypeText |
TypeText |
Region.type(text) |
Region.type_text(text) |
parity-ready |
Text input mapped to backend input protocol. |
Region.readText() |
(*Region).ReadText(source,params) |
ReadText |
Region.readText(...) |
Region.read_text(...) |
parity-ready |
OCR read flow supported. |
Region.findText(query) |
(*Region).FindText(source,query,params) |
FindText |
Region.findText(...) |
Region.find_text(...) |
parity-ready |
OCR search flow supported. |
Region.collectWords() |
(*Finder).CollectWords(params), (*Region).CollectWords(source,params), (LiveRegion).CollectWords(params), (Screen).CollectWords(params), (Match).CollectWords(params) |
n/a |
n/a |
n/a |
partial |
API-level OCR word collection is available across image-backed and live surfaces; client wrappers land in the client parity plan. |
Region.collectLines() |
(*Finder).CollectLines(params), (*Region).CollectLines(source,params), (LiveRegion).CollectLines(params), (Screen).CollectLines(params), (Match).CollectLines(params) |
n/a |
n/a |
n/a |
partial |
API-level OCR line collection is available across image-backed and live surfaces with stable OCRLine results; client wrappers land in the client parity plan. |
Screen.start()/connect() |
Sikuli auto/connect constructors |
Channel + client bootstrap |
Screen()/Screen.start()/Screen.connect() |
Screen()/Screen.start()/Screen.connect() |
parity-ready |
Client constructor patterns standardized. |
App.open(name,args) |
(*AppController).Open(...) |
OpenApp |
Sikuli.openApp(...) |
Sikuli.open_app(...) |
parity-ready |
App lifecycle support mapped. |
App.focus(name) |
(*AppController).Focus(...) |
FocusApp |
Sikuli.focusApp(...) |
Sikuli.focus_app(...) |
parity-ready |
Foreground focus support mapped. |
App.close(name) |
(*AppController).Close(...) |
CloseApp |
Sikuli.closeApp(...) |
Sikuli.close_app(...) |
parity-ready |
Close app support mapped. |
App.isRunning(name) |
(*AppController).IsRunning(...) |
IsAppRunning |
Sikuli.isAppRunning(...) |
Sikuli.is_app_running(...) |
parity-ready |
Running-state query mapped. |
App.window() |
(*AppController).GetWindow(...), (*AppController).FindWindows(...), (*AppController).ListWindows(...) |
GetWindow, FindWindows, ListWindows |
Sikuli.listWindows(...) |
Sikuli.list_windows(...) |
partial |
API-level window selection helpers now exist; client wrappers still land in the client parity plan and platform metadata remains partially portable. |
App.focusedWindow() |
(*AppController).FocusedWindow(...) |
GetFocusedWindow |
n/a |
n/a |
partial |
Focused window lookup is first-class in the API surface, with platform-specific metadata variance documented. |
App.allWindows() |
(*AppController).ListWindows(...) |
ListWindows |
Sikuli.listWindows(...) |
Sikuli.list_windows(...) |
partial |
List-all behavior is stable at the API level; client parity wrappers still land in the client parity plan. |
Observe.onAppear |
(*ObserverController).ObserveAppear(...) |
ObserveAppear |
Sikuli.observeAppear(...) |
Sikuli.observe_appear(...) |
parity-ready |
Polling observer path implemented. |
Observe.onVanish |
(*ObserverController).ObserveVanish(...) |
ObserveVanish |
Sikuli.observeVanish(...) |
Sikuli.observe_vanish(...) |
parity-ready |
Vanish observer path implemented. |
Observe.onChange |
(*ObserverController).ObserveChange(...) |
ObserveChange |
Sikuli.observeChange(...) |
Sikuli.observe_change(...) |
parity-ready |
Change observer path implemented. |
Region.keyDown()/keyUp() |
InputController.KeyDown/KeyUp |
KeyDown, KeyUp |
Sikuli.keyDown/keyUp(keys) |
Sikuli.key_down/key_up(keys) |
parity-ready |
Stateful key transitions are exposed as dedicated API and protocol operations. |
Vision API features |
internal/cv engine selections |
Find + matcher_engine |
engine option |
engine option |
partial |
Multiple OpenCV engines available; full SikuliX vision extensions not 1:1. |
parity-ready: 25partial: 11gap: 0Extracted from packages/api/pkg/sikuli/signatures.go:
ImageAPIName() stringWidth() intHeight() intGray() *image.GrayClone() *ImageCrop(rect Rect) (*Image, error)TargetPointProviderTargetPoint() PointPatternAPIImage() *ImageSimilar(sim float64) *PatternSimilarity() float64Exact() *PatternTargetOffset(dx, dy int) *PatternOffset() PointResize(factor float64) *PatternResizeFactor() float64Mask() *image.GrayFinderAPIFind(pattern *Pattern) (Match, error)FindAll(pattern *Pattern) ([]Match, error)FindAllByRow(pattern *Pattern) ([]Match, error)FindAllByColumn(pattern *Pattern) ([]Match, error)FindAnyList(patterns []*Pattern) ([]Match, error)FindBestList(patterns []*Pattern) (Match, error)Iterate(pattern *Pattern) errorIterateAll(pattern *Pattern) errorExists(pattern *Pattern) (Match, bool, error)Has(pattern *Pattern) (bool, error)Wait(pattern *Pattern, timeout time.Duration) (Match, error)WaitAnyList(patterns []*Pattern, timeout time.Duration) ([]Match, error)WaitBestList(patterns []*Pattern, timeout time.Duration) (Match, error)WaitVanish(pattern *Pattern, timeout time.Duration) (bool, error)CollectWords(params OCRParams) ([]OCRWord, error)CollectLines(params OCRParams) ([]OCRLine, error)HasNext() boolNext() (Match, bool)Reset()Destroy()ReadText(params OCRParams) (string, error)FindText(query string, params OCRParams) ([]TextMatch, error)LastMatches() []MatchRegionAPICenter() PointGrow(dx, dy int) RegionOffset(dx, dy int) RegionMoveTo(x, y int) RegionSetSize(w, h int) RegionContains(p Point) boolContainsRegion(other Region) boolUnion(other Region) RegionIntersection(other Region) RegionFind(source *Image, pattern *Pattern) (Match, error)Exists(source *Image, pattern *Pattern, timeout time.Duration) (Match, bool, error)Has(source *Image, pattern *Pattern, timeout time.Duration) (bool, error)Wait(source *Image, pattern *Pattern, timeout time.Duration) (Match, error)WaitVanish(source *Image, pattern *Pattern, timeout time.Duration) (bool, error)FindAll(source *Image, pattern *Pattern) ([]Match, error)FindAllByRow(source *Image, pattern *Pattern) ([]Match, error)FindAllByColumn(source *Image, pattern *Pattern) ([]Match, error)FindAnyList(source *Image, patterns []*Pattern) ([]Match, error)FindBestList(source *Image, patterns []*Pattern) (Match, error)WaitAnyList(source *Image, patterns []*Pattern, timeout time.Duration) ([]Match, error)WaitBestList(source *Image, patterns []*Pattern, timeout time.Duration) (Match, error)ReadText(source *Image, params OCRParams) (string, error)FindText(source *Image, query string, params OCRParams) ([]TextMatch, error)CollectWords(source *Image, params OCRParams) ([]OCRWord, error)CollectLines(source *Image, params OCRParams) ([]OCRLine, error)LiveRegionAPIBounds() RegionCenter() PointTargetPoint() PointGrow(dx, dy int) LiveRegionOffset(dx, dy int) LiveRegionMoveTo(x, y int) LiveRegionSetSize(w, h int) LiveRegionWithMatcherEngine(engine MatcherEngine) LiveRegionCapture() (*Image, error)Find(pattern *Pattern) (Match, error)FindAnyList(patterns []*Pattern) ([]Match, error)FindBestList(patterns []*Pattern) (Match, error)Exists(pattern *Pattern, timeout time.Duration) (Match, bool, error)Has(pattern *Pattern, timeout time.Duration) (bool, error)Wait(pattern *Pattern, timeout time.Duration) (Match, error)WaitAnyList(patterns []*Pattern, timeout time.Duration) ([]Match, error)WaitBestList(patterns []*Pattern, timeout time.Duration) (Match, error)WaitVanish(pattern *Pattern, timeout time.Duration) (bool, error)ReadText(params OCRParams) (string, error)FindText(query string, params OCRParams) ([]TextMatch, error)CollectWords(params OCRParams) ([]OCRWord, error)CollectLines(params OCRParams) ([]OCRLine, error)Hover(opts InputOptions) errorClick(opts InputOptions) errorRightClick(opts InputOptions) errorDoubleClick(opts InputOptions) errorMouseDown(opts InputOptions) errorMouseUp(opts InputOptions) errorTypeText(text string, opts InputOptions) errorPaste(text string, opts InputOptions) errorDragDrop(target TargetPointProvider, opts InputOptions) errorWheel(direction WheelDirection, steps int, opts InputOptions) errorKeyDown(keys ...string) errorKeyUp(keys ...string) errorMatchAPIBounds() RegionRegion() RegionCenter() PointTargetPoint() PointLive() boolCapture() (*Image, error)Find(pattern *Pattern) (Match, error)FindAnyList(patterns []*Pattern) ([]Match, error)FindBestList(patterns []*Pattern) (Match, error)Exists(pattern *Pattern, timeout time.Duration) (Match, bool, error)Has(pattern *Pattern, timeout time.Duration) (bool, error)Wait(pattern *Pattern, timeout time.Duration) (Match, error)WaitAnyList(patterns []*Pattern, timeout time.Duration) ([]Match, error)WaitBestList(patterns []*Pattern, timeout time.Duration) (Match, error)WaitVanish(pattern *Pattern, timeout time.Duration) (bool, error)ReadText(params OCRParams) (string, error)FindText(query string, params OCRParams) ([]TextMatch, error)CollectWords(params OCRParams) ([]OCRWord, error)CollectLines(params OCRParams) ([]OCRLine, error)MoveMouse(opts InputOptions) errorHover(opts InputOptions) errorClick(opts InputOptions) errorRightClick(opts InputOptions) errorDoubleClick(opts InputOptions) errorMouseDown(opts InputOptions) errorMouseUp(opts InputOptions) errorTypeText(text string, opts InputOptions) errorPaste(text string, opts InputOptions) errorDragDrop(target TargetPointProvider, opts InputOptions) errorWheel(direction WheelDirection, steps int, opts InputOptions) errorKeyDown(keys ...string) errorKeyUp(keys ...string) errorScreenAPILive() boolTargetPoint() PointFullRegion() LiveRegionRegion(x, y, w, h int) LiveRegionRegionRect(rect Rect) LiveRegionCapture() (*Image, error)Find(pattern *Pattern) (Match, error)FindAnyList(patterns []*Pattern) ([]Match, error)FindBestList(patterns []*Pattern) (Match, error)Exists(pattern *Pattern, timeout time.Duration) (Match, bool, error)Has(pattern *Pattern, timeout time.Duration) (bool, error)Wait(pattern *Pattern, timeout time.Duration) (Match, error)WaitAnyList(patterns []*Pattern, timeout time.Duration) ([]Match, error)WaitBestList(patterns []*Pattern, timeout time.Duration) (Match, error)WaitVanish(pattern *Pattern, timeout time.Duration) (bool, error)ReadText(params OCRParams) (string, error)FindText(query string, params OCRParams) ([]TextMatch, error)CollectWords(params OCRParams) ([]OCRWord, error)CollectLines(params OCRParams) ([]OCRLine, error)Hover(opts InputOptions) errorClick(opts InputOptions) errorRightClick(opts InputOptions) errorDoubleClick(opts InputOptions) errorMouseDown(opts InputOptions) errorMouseUp(opts InputOptions) errorTypeText(text string, opts InputOptions) errorPaste(text string, opts InputOptions) errorDragDrop(target TargetPointProvider, opts InputOptions) errorWheel(direction WheelDirection, steps int, opts InputOptions) errorKeyDown(keys ...string) errorKeyUp(keys ...string) errorRuntimeAPIAddress() stringClose() errorScreens() ([]Screen, error)PrimaryScreen() (Screen, error)Screen(id int) (Screen, error)Capture() (*Image, error)CaptureRegion(region Region) (*Image, error)Region(region Region) LiveRegionInputAPIMoveMouse(x, y int, opts InputOptions) errorHover(x, y int, opts InputOptions) errorClick(x, y int, opts InputOptions) errorRightClick(x, y int, opts InputOptions) errorDoubleClick(x, y int, opts InputOptions) errorMouseDown(x, y int, opts InputOptions) errorMouseUp(x, y int, opts InputOptions) errorTypeText(text string, opts InputOptions) errorPaste(text string, opts InputOptions) errorHotkey(keys ...string) errorKeyDown(keys ...string) errorKeyUp(keys ...string) errorWheel(x, y int, direction WheelDirection, steps int, opts InputOptions) errorDragDrop(fromX, fromY, toX, toY int, opts InputOptions) errorObserveAPIObserveAppear(source *Image, region Region, pattern *Pattern, opts ObserveOptions) ([]ObserveEvent, error)ObserveVanish(source *Image, region Region, pattern *Pattern, opts ObserveOptions) ([]ObserveEvent, error)ObserveChange(source *Image, region Region, opts ObserveOptions) ([]ObserveEvent, error)AppAPIOpen(name string, args []string, opts AppOptions) errorFocus(name string, opts AppOptions) errorClose(name string, opts AppOptions) errorIsRunning(name string, opts AppOptions) (bool, error)ListWindows(name string, opts AppOptions) ([]Window, error)FindWindows(name string, query WindowQuery, opts AppOptions) ([]Window, error)GetWindow(name string, query WindowQuery, opts AppOptions) (Window, bool, error)FocusedWindow(name string, opts AppOptions) (Window, bool, error)Extracted from packages/api/proto/sikuli/v1/sikuli.proto:
rpc ListScreens(ListScreensRequest) returns (ListScreensResponse);rpc GetPrimaryScreen(GetPrimaryScreenRequest) returns (GetPrimaryScreenResponse);rpc CaptureScreen(CaptureScreenRequest) returns (CaptureScreenResponse);rpc Find(FindRequest) returns (FindResponse);rpc FindAll(FindRequest) returns (FindAllResponse);rpc FindOnScreen(FindOnScreenRequest) returns (FindResponse);rpc ExistsOnScreen(ExistsOnScreenRequest) returns (ExistsOnScreenResponse);rpc WaitOnScreen(WaitOnScreenRequest) returns (FindResponse);rpc ClickOnScreen(ClickOnScreenRequest) returns (FindResponse);rpc ReadText(ReadTextRequest) returns (ReadTextResponse);rpc FindText(FindTextRequest) returns (FindTextResponse);rpc MoveMouse(MoveMouseRequest) returns (ActionResponse);rpc Click(ClickRequest) returns (ActionResponse);rpc TypeText(TypeTextRequest) returns (ActionResponse);rpc PasteText(TypeTextRequest) returns (ActionResponse);rpc Hotkey(HotkeyRequest) returns (ActionResponse);rpc MouseDown(ClickRequest) returns (ActionResponse);rpc MouseUp(ClickRequest) returns (ActionResponse);rpc KeyDown(HotkeyRequest) returns (ActionResponse);rpc KeyUp(HotkeyRequest) returns (ActionResponse);rpc ScrollWheel(ScrollWheelRequest) returns (ActionResponse);rpc ObserveAppear(ObserveRequest) returns (ObserveResponse);rpc ObserveVanish(ObserveRequest) returns (ObserveResponse);rpc ObserveChange(ObserveChangeRequest) returns (ObserveResponse);rpc OpenApp(AppActionRequest) returns (ActionResponse);rpc FocusApp(AppActionRequest) returns (ActionResponse);rpc CloseApp(AppActionRequest) returns (ActionResponse);rpc IsAppRunning(AppActionRequest) returns (IsAppRunningResponse);rpc ListWindows(AppActionRequest) returns (ListWindowsResponse);rpc FindWindows(WindowQueryRequest) returns (ListWindowsResponse);rpc GetWindow(WindowQueryRequest) returns (GetWindowResponse);rpc GetFocusedWindow(AppActionRequest) returns (GetWindowResponse);./scripts/generate-parity-docs.sh after updates.