Vision system for UI automation
Project description
Nazm
Nazm is a Python library for reliable desktop automation using visual detection instead of fragile screen coordinates.
It provides a clean, high-level API for interacting with legacy desktop applications by locating UI elements through image recognition and performing actions like clicking, typing, and waiting.
Why Nazm?
Traditional GUI automation scripts break easily because they rely on fixed positions. Nazm focuses on visual anchoring, making automations more resilient and reusable.
Key goals:
- Image-based UI detection
- Clean automation API
- Reliable retries and waits
- Minimal configuration
- Designed for real production workflows
Installation
pip install nazm
Quick example
import nazm
nazm.wait_for("login_button.png")
nazm.click("login_button.png")
nazm.type_into("username_field.png", "admin")
nazm.type_into("password_field.png", "secret")
nazm.click("submit.png")
Status
Nazm is currently in early development. The initial release focuses on a stable core engine for visual automation.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nazm-0.1.1.tar.gz.
File metadata
- Download URL: nazm-0.1.1.tar.gz
- Upload date:
- Size: 31.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eeb6ecf7ba6ee11481631576ef294032e8855b8e23776ec4fc2d7c8101f7abe8
|
|
| MD5 |
ab38248fcdc51240c064c38f4432c187
|
|
| BLAKE2b-256 |
20722ccc2123adcec31c8c3752e959acf47ee5f9d8f754ae4480f58cb89bc5c1
|
Provenance
The following attestation bundles were made for nazm-0.1.1.tar.gz:
Publisher:
pypi-publish.yml on LuizFTS/nazm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nazm-0.1.1.tar.gz -
Subject digest:
eeb6ecf7ba6ee11481631576ef294032e8855b8e23776ec4fc2d7c8101f7abe8 - Sigstore transparency entry: 1005677268
- Sigstore integration time:
-
Permalink:
LuizFTS/nazm@4366b9d2fce867dd2a81ba212b9cf47d10c38058 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/LuizFTS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@4366b9d2fce867dd2a81ba212b9cf47d10c38058 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nazm-0.1.1-py3-none-any.whl.
File metadata
- Download URL: nazm-0.1.1-py3-none-any.whl
- Upload date:
- Size: 30.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9194364309f501fcfb825d12baed5ea5553757430581aa07a5306005d7411a3
|
|
| MD5 |
dd1bfb4442188ce931e6ed03c1eaa1d3
|
|
| BLAKE2b-256 |
a8ee5547f909b414c2a577e9dc067271c25b4df5ff0416965bd301abd12003cd
|
Provenance
The following attestation bundles were made for nazm-0.1.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on LuizFTS/nazm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nazm-0.1.1-py3-none-any.whl -
Subject digest:
d9194364309f501fcfb825d12baed5ea5553757430581aa07a5306005d7411a3 - Sigstore transparency entry: 1005677287
- Sigstore integration time:
-
Permalink:
LuizFTS/nazm@4366b9d2fce867dd2a81ba212b9cf47d10c38058 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/LuizFTS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@4366b9d2fce867dd2a81ba212b9cf47d10c38058 -
Trigger Event:
push
-
Statement type: