nano-wait 2.0__tar.gz → 3.1.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.1.0/PKG-INFO +92 -0
- nano_wait-3.1.0/README.md +54 -0
- nano_wait-3.1.0/nano_wait/vision.py +111 -0
- nano_wait-3.1.0/nano_wait.egg-info/PKG-INFO +92 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait.egg-info/SOURCES.txt +2 -0
- nano_wait-3.1.0/nano_wait.egg-info/entry_points.txt +2 -0
- nano_wait-3.1.0/nano_wait.egg-info/requires.txt +9 -0
- nano_wait-3.1.0/setup.py +48 -0
- nano_wait-2.0/PKG-INFO +0 -40
- nano_wait-2.0/README.md +0 -18
- nano_wait-2.0/nano_wait.egg-info/PKG-INFO +0 -40
- nano_wait-2.0/nano_wait.egg-info/requires.txt +0 -2
- nano_wait-2.0/setup.py +0 -17
- {nano_wait-2.0 → nano_wait-3.1.0}/LICENSE +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait/__init__.py +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait/__main__.py +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait/cli.py +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait/core.py +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait/nano_wait.py +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait/utils.py +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait.egg-info/dependency_links.txt +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/nano_wait.egg-info/top_level.txt +0 -0
- {nano_wait-2.0 → nano_wait-3.1.0}/setup.cfg +0 -0
nano_wait-3.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: nano_wait
|
|
3
|
+
Version: 3.1.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
|
|
40
|
+
|
|
41
|
+
Nano-Wait é uma biblioteca Python para **automação inteligente de telas e leitura de dados**, agora com **Módulo de Visão**, permitindo capturar números e textos diretamente da tela e executar ações automatizadas com base nas informações detectadas.
|
|
42
|
+
|
|
43
|
+
## Funcionalidades Principais
|
|
44
|
+
|
|
45
|
+
### Espera Inteligente (Wait)
|
|
46
|
+
|
|
47
|
+
Substitui `time.sleep` por esperas inteligentes, evitando atrasos desnecessários e tornando scripts mais confiáveis.
|
|
48
|
+
|
|
49
|
+
**Exemplos:**
|
|
50
|
+
```python
|
|
51
|
+
from nano_wait import wait
|
|
52
|
+
|
|
53
|
+
# Aguarda até que um botão esteja visível
|
|
54
|
+
wait.until_visible(selector="button#start")
|
|
55
|
+
|
|
56
|
+
# Aguarda até que um valor específico apareça
|
|
57
|
+
wait.until_text("Processo concluído")
|
|
58
|
+
### Visão Inteligente (Vision)
|
|
59
|
+
|
|
60
|
+
A partir da versão 3.0, Nano-Wait inclui **OCR** para ler números e textos da tela e tomar decisões automáticas.
|
|
61
|
+
|
|
62
|
+
**Principais funcionalidades:**
|
|
63
|
+
* Marcação de múltiplas regiões: Permite capturar várias áreas da tela simultaneamente.
|
|
64
|
+
* **Modos inteligentes:**
|
|
65
|
+
* `observe`: apenas lê e imprime valores detectados.
|
|
66
|
+
* `decision`: lê valores e executa ações automáticas.
|
|
67
|
+
* `learn`: registra padrões visuais para decisões futuras.
|
|
68
|
+
|
|
69
|
+
**Exemplo de uso:**
|
|
70
|
+
```python
|
|
71
|
+
from nano_wait.vision import Vision
|
|
72
|
+
|
|
73
|
+
vision = Vision()
|
|
74
|
+
vision.mark_regions() # Interativo: marque regiões na tela
|
|
75
|
+
vision.set_mode("observe") # Modos: observe, decision, learn
|
|
76
|
+
vision.run() # Executa leitura ou ações
|
|
77
|
+
### Ações Automatizadas
|
|
78
|
+
|
|
79
|
+
Execute ações automáticas após detectar padrões ou valores na tela.
|
|
80
|
+
|
|
81
|
+
**Exemplos de ações:**
|
|
82
|
+
* Clique simples ou duplo
|
|
83
|
+
* Pular itens
|
|
84
|
+
* Executar funções customizadas
|
|
85
|
+
|
|
86
|
+
```python
|
|
87
|
+
def custom_action(value):
|
|
88
|
+
if value > 100:
|
|
89
|
+
print("Valor alto detectado!")
|
|
90
|
+
# clique ou outra ação
|
|
91
|
+
|
|
92
|
+
vision.set_custom_action(custom_action)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Nano-Wait
|
|
2
|
+
|
|
3
|
+
Nano-Wait é uma biblioteca Python para **automação inteligente de telas e leitura de dados**, agora com **Módulo de Visão**, permitindo capturar números e textos diretamente da tela e executar ações automatizadas com base nas informações detectadas.
|
|
4
|
+
|
|
5
|
+
## Funcionalidades Principais
|
|
6
|
+
|
|
7
|
+
### Espera Inteligente (Wait)
|
|
8
|
+
|
|
9
|
+
Substitui `time.sleep` por esperas inteligentes, evitando atrasos desnecessários e tornando scripts mais confiáveis.
|
|
10
|
+
|
|
11
|
+
**Exemplos:**
|
|
12
|
+
```python
|
|
13
|
+
from nano_wait import wait
|
|
14
|
+
|
|
15
|
+
# Aguarda até que um botão esteja visível
|
|
16
|
+
wait.until_visible(selector="button#start")
|
|
17
|
+
|
|
18
|
+
# Aguarda até que um valor específico apareça
|
|
19
|
+
wait.until_text("Processo concluído")
|
|
20
|
+
### Visão Inteligente (Vision)
|
|
21
|
+
|
|
22
|
+
A partir da versão 3.0, Nano-Wait inclui **OCR** para ler números e textos da tela e tomar decisões automáticas.
|
|
23
|
+
|
|
24
|
+
**Principais funcionalidades:**
|
|
25
|
+
* Marcação de múltiplas regiões: Permite capturar várias áreas da tela simultaneamente.
|
|
26
|
+
* **Modos inteligentes:**
|
|
27
|
+
* `observe`: apenas lê e imprime valores detectados.
|
|
28
|
+
* `decision`: lê valores e executa ações automáticas.
|
|
29
|
+
* `learn`: registra padrões visuais para decisões futuras.
|
|
30
|
+
|
|
31
|
+
**Exemplo de uso:**
|
|
32
|
+
```python
|
|
33
|
+
from nano_wait.vision import Vision
|
|
34
|
+
|
|
35
|
+
vision = Vision()
|
|
36
|
+
vision.mark_regions() # Interativo: marque regiões na tela
|
|
37
|
+
vision.set_mode("observe") # Modos: observe, decision, learn
|
|
38
|
+
vision.run() # Executa leitura ou ações
|
|
39
|
+
### Ações Automatizadas
|
|
40
|
+
|
|
41
|
+
Execute ações automáticas após detectar padrões ou valores na tela.
|
|
42
|
+
|
|
43
|
+
**Exemplos de ações:**
|
|
44
|
+
* Clique simples ou duplo
|
|
45
|
+
* Pular itens
|
|
46
|
+
* Executar funções customizadas
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
def custom_action(value):
|
|
50
|
+
if value > 100:
|
|
51
|
+
print("Valor alto detectado!")
|
|
52
|
+
# clique ou outra ação
|
|
53
|
+
|
|
54
|
+
vision.set_custom_action(custom_action)
|
|
@@ -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,92 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: nano_wait
|
|
3
|
+
Version: 3.1.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
|
|
40
|
+
|
|
41
|
+
Nano-Wait é uma biblioteca Python para **automação inteligente de telas e leitura de dados**, agora com **Módulo de Visão**, permitindo capturar números e textos diretamente da tela e executar ações automatizadas com base nas informações detectadas.
|
|
42
|
+
|
|
43
|
+
## Funcionalidades Principais
|
|
44
|
+
|
|
45
|
+
### Espera Inteligente (Wait)
|
|
46
|
+
|
|
47
|
+
Substitui `time.sleep` por esperas inteligentes, evitando atrasos desnecessários e tornando scripts mais confiáveis.
|
|
48
|
+
|
|
49
|
+
**Exemplos:**
|
|
50
|
+
```python
|
|
51
|
+
from nano_wait import wait
|
|
52
|
+
|
|
53
|
+
# Aguarda até que um botão esteja visível
|
|
54
|
+
wait.until_visible(selector="button#start")
|
|
55
|
+
|
|
56
|
+
# Aguarda até que um valor específico apareça
|
|
57
|
+
wait.until_text("Processo concluído")
|
|
58
|
+
### Visão Inteligente (Vision)
|
|
59
|
+
|
|
60
|
+
A partir da versão 3.0, Nano-Wait inclui **OCR** para ler números e textos da tela e tomar decisões automáticas.
|
|
61
|
+
|
|
62
|
+
**Principais funcionalidades:**
|
|
63
|
+
* Marcação de múltiplas regiões: Permite capturar várias áreas da tela simultaneamente.
|
|
64
|
+
* **Modos inteligentes:**
|
|
65
|
+
* `observe`: apenas lê e imprime valores detectados.
|
|
66
|
+
* `decision`: lê valores e executa ações automáticas.
|
|
67
|
+
* `learn`: registra padrões visuais para decisões futuras.
|
|
68
|
+
|
|
69
|
+
**Exemplo de uso:**
|
|
70
|
+
```python
|
|
71
|
+
from nano_wait.vision import Vision
|
|
72
|
+
|
|
73
|
+
vision = Vision()
|
|
74
|
+
vision.mark_regions() # Interativo: marque regiões na tela
|
|
75
|
+
vision.set_mode("observe") # Modos: observe, decision, learn
|
|
76
|
+
vision.run() # Executa leitura ou ações
|
|
77
|
+
### Ações Automatizadas
|
|
78
|
+
|
|
79
|
+
Execute ações automáticas após detectar padrões ou valores na tela.
|
|
80
|
+
|
|
81
|
+
**Exemplos de ações:**
|
|
82
|
+
* Clique simples ou duplo
|
|
83
|
+
* Pular itens
|
|
84
|
+
* Executar funções customizadas
|
|
85
|
+
|
|
86
|
+
```python
|
|
87
|
+
def custom_action(value):
|
|
88
|
+
if value > 100:
|
|
89
|
+
print("Valor alto detectado!")
|
|
90
|
+
# clique ou outra ação
|
|
91
|
+
|
|
92
|
+
vision.set_custom_action(custom_action)
|
|
@@ -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
|
nano_wait-3.1.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.1.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
|
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
|
|
File without changes
|
|
File without changes
|