nano-wait 2.0__tar.gz → 3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nano-wait might be problematic. Click here for more details.

nano_wait-3.0/PKG-INFO ADDED
@@ -0,0 +1,61 @@
1
+ Metadata-Version: 2.4
2
+ Name: nano_wait
3
+ Version: 3.0
4
+ Summary: Adaptive waiting and smart automation library — includes Wi-Fi, system context, and Vision Mode for screen-based decisions.
5
+ Author: Luiz Filipe Seabra de Marco
6
+ Author-email: luizfilipeseabra@icloud.com
7
+ License: MIT License
8
+ Keywords: automation automação wifi wait vision ocr screen adaptive ai
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
13
+ Classifier: Topic :: Utilities
14
+ Classifier: Intended Audience :: Developers
15
+ Requires-Python: >=3.8
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: psutil
19
+ Requires-Dist: pywifi
20
+ Provides-Extra: vision
21
+ Requires-Dist: pyautogui; extra == "vision"
22
+ Requires-Dist: pytesseract; extra == "vision"
23
+ Requires-Dist: pynput; extra == "vision"
24
+ Requires-Dist: opencv-python; extra == "vision"
25
+ Requires-Dist: numpy; extra == "vision"
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: classifier
29
+ Dynamic: description
30
+ Dynamic: description-content-type
31
+ Dynamic: keywords
32
+ Dynamic: license
33
+ Dynamic: license-file
34
+ Dynamic: provides-extra
35
+ Dynamic: requires-dist
36
+ Dynamic: requires-python
37
+ Dynamic: summary
38
+
39
+ # Nano-Wait Vision Module
40
+
41
+ Nano-Wait agora inclui um módulo de **Visão Inteligente**, capaz de ler números diretamente da tela e tomar decisões automáticas em aplicativos ou vídeos.
42
+
43
+ ## Funcionalidades principais
44
+
45
+ - **Múltiplas regiões**: capture números de várias áreas da tela ao mesmo tempo.
46
+ - **Marcação interativa**: selecione regiões da tela facilmente usando o mouse com `mark_region()`.
47
+ - **Modos inteligentes**:
48
+ - `observe`: apenas lê e exibe números.
49
+ - `decision`: lê números e executa ações automáticas com base em valores.
50
+ - `learn`: registra padrões visuais para uso futuro.
51
+ - **Ações automatizadas**: clique duplo, pular itens, etc.
52
+ - Compatível com macOS, Windows e Linux.
53
+
54
+ ## Instalação
55
+
56
+ ```bash
57
+ pip install -e .
58
+ # Dependências para o módulo de visão
59
+ pip install pyautogui pytesseract pynput opencv-python-headless
60
+ # macOS: instale o Tesseract OCR
61
+ brew install tesseract
@@ -0,0 +1,23 @@
1
+ # Nano-Wait Vision Module
2
+
3
+ Nano-Wait agora inclui um módulo de **Visão Inteligente**, capaz de ler números diretamente da tela e tomar decisões automáticas em aplicativos ou vídeos.
4
+
5
+ ## Funcionalidades principais
6
+
7
+ - **Múltiplas regiões**: capture números de várias áreas da tela ao mesmo tempo.
8
+ - **Marcação interativa**: selecione regiões da tela facilmente usando o mouse com `mark_region()`.
9
+ - **Modos inteligentes**:
10
+ - `observe`: apenas lê e exibe números.
11
+ - `decision`: lê números e executa ações automáticas com base em valores.
12
+ - `learn`: registra padrões visuais para uso futuro.
13
+ - **Ações automatizadas**: clique duplo, pular itens, etc.
14
+ - Compatível com macOS, Windows e Linux.
15
+
16
+ ## Instalação
17
+
18
+ ```bash
19
+ pip install -e .
20
+ # Dependências para o módulo de visão
21
+ pip install pyautogui pytesseract pynput opencv-python-headless
22
+ # macOS: instale o Tesseract OCR
23
+ brew install tesseract
@@ -0,0 +1,111 @@
1
+ import time
2
+ import pytesseract
3
+ import pyautogui
4
+ from pynput.mouse import Controller, Button
5
+ from PIL import ImageGrab, ImageOps
6
+ import re
7
+
8
+ class VisionMode:
9
+ """
10
+ Classe para captura e interpretação visual da tela.
11
+ Modos disponíveis:
12
+ - "observe": apenas lê e exibe dados detectados.
13
+ - "decision": lê dados e toma decisões automáticas.
14
+ - "learn": registra padrões visuais para uso futuro.
15
+ """
16
+
17
+ def __init__(self, mode="observe"):
18
+ self.mode = mode
19
+ self.mouse = Controller()
20
+ print(f"🔍 VisionMode iniciado no modo '{self.mode}'")
21
+
22
+ def capture_numbers(self, regions=None):
23
+ results = {}
24
+ if not regions:
25
+ regions = [None]
26
+
27
+ for idx, region in enumerate(regions):
28
+ print(f"📸 Capturando região {idx + 1}...")
29
+ if region:
30
+ x, y, w, h = region
31
+ if w <= 0 or h <= 0:
32
+ raise ValueError("Largura e altura devem ser maiores que 0")
33
+ bbox = (x, y, x + w, y + h)
34
+ img = ImageGrab.grab(bbox=bbox)
35
+ else:
36
+ img = ImageGrab.grab()
37
+
38
+ img = ImageOps.grayscale(img)
39
+ text = pytesseract.image_to_string(img)
40
+ print(f"🧠 Texto detectado na região {idx + 1}: {text}")
41
+
42
+ match = re.findall(r'\d+', text)
43
+ numbers = [int(m) for m in match] if match else [0]
44
+
45
+ results[region or f"full_screen_{idx}"] = numbers
46
+
47
+ return results
48
+
49
+ def perform_action(self, action):
50
+ if action == "like_post":
51
+ self.mouse.click(Button.left, 2)
52
+ print("❤️ Ação: clique duplo executado.")
53
+ elif action == "skip_post":
54
+ self.mouse.move(100, 0)
55
+ print("⏭ Ação: pulando item.")
56
+ else:
57
+ print(f"⚙️ Ação desconhecida: {action}")
58
+
59
+ def run(self, regions=None):
60
+ numbers_per_region = self.capture_numbers(regions)
61
+
62
+ if self.mode == "observe":
63
+ for reg, nums in numbers_per_region.items():
64
+ print(f"👁 Região {reg}: números detectados = {nums}")
65
+
66
+ elif self.mode == "decision":
67
+ for reg, nums in numbers_per_region.items():
68
+ for number in nums:
69
+ if number > 1000:
70
+ self.perform_action("like_post")
71
+ else:
72
+ self.perform_action("skip_post")
73
+
74
+ elif self.mode == "learn":
75
+ print("📚 Modo aprendizado ativado: coletando dados...")
76
+ for _ in range(3):
77
+ self.capture_numbers(regions)
78
+ time.sleep(2)
79
+ else:
80
+ print(f"❌ Modo '{self.mode}' inválido.")
81
+
82
+ # ------------------------
83
+ # Nova função: mark_region
84
+ # ------------------------
85
+ @staticmethod
86
+ def mark_region():
87
+ """
88
+ Captura região usando PyAutoGUI.
89
+ O usuário clica no canto superior esquerdo e inferior direito.
90
+ Retorna (x, y, largura, altura)
91
+ """
92
+ print("📌 Marque a região desejada:")
93
+ print("Clique no canto superior esquerdo da área desejada e pressione Enter...")
94
+ input("Pressione Enter quando estiver pronto...")
95
+ x1, y1 = pyautogui.position()
96
+ print(f"📍 Ponto superior esquerdo: ({x1}, {y1})")
97
+
98
+ print("Clique no canto inferior direito da área desejada e pressione Enter...")
99
+ input("Pressione Enter quando estiver pronto...")
100
+ x2, y2 = pyautogui.position()
101
+ print(f"📍 Ponto inferior direito: ({x2}, {y2})")
102
+
103
+ x, y = min(x1, x2), min(y1, y2)
104
+ w, h = abs(x2 - x1), abs(y2 - y1)
105
+
106
+ if w == 0 or h == 0:
107
+ print("❌ Largura ou altura inválida. Tente novamente.")
108
+ return None
109
+
110
+ print(f"✅ Região marcada: (x={x}, y={y}, largura={w}, altura={h})")
111
+ return (x, y, w, h)
@@ -0,0 +1,61 @@
1
+ Metadata-Version: 2.4
2
+ Name: nano_wait
3
+ Version: 3.0
4
+ Summary: Adaptive waiting and smart automation library — includes Wi-Fi, system context, and Vision Mode for screen-based decisions.
5
+ Author: Luiz Filipe Seabra de Marco
6
+ Author-email: luizfilipeseabra@icloud.com
7
+ License: MIT License
8
+ Keywords: automation automação wifi wait vision ocr screen adaptive ai
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
13
+ Classifier: Topic :: Utilities
14
+ Classifier: Intended Audience :: Developers
15
+ Requires-Python: >=3.8
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: psutil
19
+ Requires-Dist: pywifi
20
+ Provides-Extra: vision
21
+ Requires-Dist: pyautogui; extra == "vision"
22
+ Requires-Dist: pytesseract; extra == "vision"
23
+ Requires-Dist: pynput; extra == "vision"
24
+ Requires-Dist: opencv-python; extra == "vision"
25
+ Requires-Dist: numpy; extra == "vision"
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: classifier
29
+ Dynamic: description
30
+ Dynamic: description-content-type
31
+ Dynamic: keywords
32
+ Dynamic: license
33
+ Dynamic: license-file
34
+ Dynamic: provides-extra
35
+ Dynamic: requires-dist
36
+ Dynamic: requires-python
37
+ Dynamic: summary
38
+
39
+ # Nano-Wait Vision Module
40
+
41
+ Nano-Wait agora inclui um módulo de **Visão Inteligente**, capaz de ler números diretamente da tela e tomar decisões automáticas em aplicativos ou vídeos.
42
+
43
+ ## Funcionalidades principais
44
+
45
+ - **Múltiplas regiões**: capture números de várias áreas da tela ao mesmo tempo.
46
+ - **Marcação interativa**: selecione regiões da tela facilmente usando o mouse com `mark_region()`.
47
+ - **Modos inteligentes**:
48
+ - `observe`: apenas lê e exibe números.
49
+ - `decision`: lê números e executa ações automáticas com base em valores.
50
+ - `learn`: registra padrões visuais para uso futuro.
51
+ - **Ações automatizadas**: clique duplo, pular itens, etc.
52
+ - Compatível com macOS, Windows e Linux.
53
+
54
+ ## Instalação
55
+
56
+ ```bash
57
+ pip install -e .
58
+ # Dependências para o módulo de visão
59
+ pip install pyautogui pytesseract pynput opencv-python-headless
60
+ # macOS: instale o Tesseract OCR
61
+ brew install tesseract
@@ -7,8 +7,10 @@ nano_wait/cli.py
7
7
  nano_wait/core.py
8
8
  nano_wait/nano_wait.py
9
9
  nano_wait/utils.py
10
+ nano_wait/vision.py
10
11
  nano_wait.egg-info/PKG-INFO
11
12
  nano_wait.egg-info/SOURCES.txt
12
13
  nano_wait.egg-info/dependency_links.txt
14
+ nano_wait.egg-info/entry_points.txt
13
15
  nano_wait.egg-info/requires.txt
14
16
  nano_wait.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ nano-wait = nano_wait.cli:main
@@ -0,0 +1,9 @@
1
+ psutil
2
+ pywifi
3
+
4
+ [vision]
5
+ pyautogui
6
+ pytesseract
7
+ pynput
8
+ opencv-python
9
+ numpy
nano_wait-3.0/setup.py ADDED
@@ -0,0 +1,48 @@
1
+ from setuptools import setup, find_packages
2
+
3
+ with open("README.md", "r", encoding="utf-8") as arq:
4
+ readme = arq.read()
5
+
6
+ setup(
7
+ name='nano_wait',
8
+ version='3.0',
9
+ license='MIT License',
10
+ author='Luiz Filipe Seabra de Marco',
11
+ author_email='luizfilipeseabra@icloud.com',
12
+ description=(
13
+ u'Adaptive waiting and smart automation library — '
14
+ u'includes Wi-Fi, system context, and Vision Mode for screen-based decisions.'
15
+ ),
16
+ long_description=readme,
17
+ long_description_content_type="text/markdown",
18
+ keywords='automation automação wifi wait vision ocr screen adaptive ai',
19
+ packages=find_packages(),
20
+ install_requires=[
21
+ 'psutil',
22
+ 'pywifi'
23
+ ],
24
+ extras_require={
25
+ "vision": [
26
+ "pyautogui",
27
+ "pytesseract",
28
+ "pynput",
29
+ "opencv-python",
30
+ "numpy"
31
+ ]
32
+ }
33
+ ,
34
+ entry_points={
35
+ 'console_scripts': [
36
+ 'nano-wait = nano_wait.cli:main',
37
+ ],
38
+ },
39
+ classifiers=[
40
+ "Programming Language :: Python :: 3",
41
+ "License :: OSI Approved :: MIT License",
42
+ "Operating System :: OS Independent",
43
+ "Topic :: Software Development :: Libraries :: Python Modules",
44
+ "Topic :: Utilities",
45
+ "Intended Audience :: Developers",
46
+ ],
47
+ python_requires='>=3.8',
48
+ )
nano_wait-2.0/PKG-INFO DELETED
@@ -1,40 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: nano_wait
3
- Version: 2.0
4
- Summary: Waiting Time Calculation for Automations Based on WiFi and PC Processing
5
- Author: Luiz Filipe Seabra de Marco
6
- Author-email: luizfilipeseabra@icloud.com
7
- License: MIT License
8
- Keywords: automation automação wifi wait
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: psutil
12
- Requires-Dist: pywifi
13
- Dynamic: author
14
- Dynamic: author-email
15
- Dynamic: description
16
- Dynamic: description-content-type
17
- Dynamic: keywords
18
- Dynamic: license
19
- Dynamic: license-file
20
- Dynamic: requires-dist
21
- Dynamic: summary
22
-
23
- # ⚡ Nano-Wait v2.0
24
-
25
- **Adaptive smart wait for Python — replaces `time.sleep()` with intelligence.**
26
-
27
- ---
28
-
29
- ## 🚀 Features
30
- - Adjusts wait time based on CPU, RAM, and Wi-Fi quality.
31
- - Simple API: `wait(2.5, wifi="Office", speed="fast")`
32
- - CLI support: `nano-wait 2.5 --wifi "Office" --speed fast`
33
- - Built-in presets: `slow`, `normal`, `fast`, `ultra`
34
- - Optional logs and verbose mode.
35
-
36
- ---
37
-
38
- ## 📦 Installation
39
- ```bash
40
- pip install nano-wait
nano_wait-2.0/README.md DELETED
@@ -1,18 +0,0 @@
1
- # ⚡ Nano-Wait v2.0
2
-
3
- **Adaptive smart wait for Python — replaces `time.sleep()` with intelligence.**
4
-
5
- ---
6
-
7
- ## 🚀 Features
8
- - Adjusts wait time based on CPU, RAM, and Wi-Fi quality.
9
- - Simple API: `wait(2.5, wifi="Office", speed="fast")`
10
- - CLI support: `nano-wait 2.5 --wifi "Office" --speed fast`
11
- - Built-in presets: `slow`, `normal`, `fast`, `ultra`
12
- - Optional logs and verbose mode.
13
-
14
- ---
15
-
16
- ## 📦 Installation
17
- ```bash
18
- pip install nano-wait
@@ -1,40 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: nano_wait
3
- Version: 2.0
4
- Summary: Waiting Time Calculation for Automations Based on WiFi and PC Processing
5
- Author: Luiz Filipe Seabra de Marco
6
- Author-email: luizfilipeseabra@icloud.com
7
- License: MIT License
8
- Keywords: automation automação wifi wait
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: psutil
12
- Requires-Dist: pywifi
13
- Dynamic: author
14
- Dynamic: author-email
15
- Dynamic: description
16
- Dynamic: description-content-type
17
- Dynamic: keywords
18
- Dynamic: license
19
- Dynamic: license-file
20
- Dynamic: requires-dist
21
- Dynamic: summary
22
-
23
- # ⚡ Nano-Wait v2.0
24
-
25
- **Adaptive smart wait for Python — replaces `time.sleep()` with intelligence.**
26
-
27
- ---
28
-
29
- ## 🚀 Features
30
- - Adjusts wait time based on CPU, RAM, and Wi-Fi quality.
31
- - Simple API: `wait(2.5, wifi="Office", speed="fast")`
32
- - CLI support: `nano-wait 2.5 --wifi "Office" --speed fast`
33
- - Built-in presets: `slow`, `normal`, `fast`, `ultra`
34
- - Optional logs and verbose mode.
35
-
36
- ---
37
-
38
- ## 📦 Installation
39
- ```bash
40
- pip install nano-wait
@@ -1,2 +0,0 @@
1
- psutil
2
- pywifi
nano_wait-2.0/setup.py DELETED
@@ -1,17 +0,0 @@
1
- from setuptools import setup
2
-
3
- with open("README.md", "r", encoding="utf-8") as arq:
4
- readme = arq.read()
5
-
6
-
7
- setup(name='nano_wait',
8
- version='2.0',
9
- license='MIT License',
10
- author='Luiz Filipe Seabra de Marco',
11
- long_description=readme,
12
- long_description_content_type="text/markdown",
13
- author_email='luizfilipeseabra@icloud.com',
14
- keywords='automation automação wifi wait',
15
- description=u'Waiting Time Calculation for Automations Based on WiFi and PC Processing',
16
- packages=['nano_wait'],
17
- install_requires=['psutil','pywifi'],)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes