fluxtime-clock 0.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.
- fluxtime_clock-0.1.0/FluxTime.py +113 -0
- fluxtime_clock-0.1.0/LICENSE +21 -0
- fluxtime_clock-0.1.0/PKG-INFO +227 -0
- fluxtime_clock-0.1.0/README.md +207 -0
- fluxtime_clock-0.1.0/fluxtime_clock.egg-info/PKG-INFO +227 -0
- fluxtime_clock-0.1.0/fluxtime_clock.egg-info/SOURCES.txt +9 -0
- fluxtime_clock-0.1.0/fluxtime_clock.egg-info/dependency_links.txt +1 -0
- fluxtime_clock-0.1.0/fluxtime_clock.egg-info/entry_points.txt +2 -0
- fluxtime_clock-0.1.0/fluxtime_clock.egg-info/top_level.txt +1 -0
- fluxtime_clock-0.1.0/pyproject.toml +32 -0
- fluxtime_clock-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
3
|
+
import time
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
# Forzar UTF-8
|
|
7
|
+
if sys.version_info >= (3, 7):
|
|
8
|
+
try:
|
|
9
|
+
sys.stdout.reconfigure(encoding='utf-8')
|
|
10
|
+
except Exception:
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
RESET = '\033[H' # Volver al inicio
|
|
14
|
+
CLEAR = '\033[2J' # Limpiar pantalla
|
|
15
|
+
ALT_SCREEN_ON = '\033[?1049h'
|
|
16
|
+
ALT_SCREEN_OFF = '\033[?1049l'
|
|
17
|
+
HIDE_CURSOR = '\033[?25l'
|
|
18
|
+
SHOW_CURSOR = '\033[?25h'
|
|
19
|
+
|
|
20
|
+
BANNER = r"""
|
|
21
|
+
███████╗██╗ ██╗ ██╗██╗ ██╗████████╗██╗███╗ ███╗███████╗
|
|
22
|
+
██╔════╝██║ ██║ ██║╚██╗██╔╝╚══██╔══╝██║████╗ ████║██╔════╝
|
|
23
|
+
█████╗ ██║ ██║ ██║ ╚███╔╝ ██║ ██║██╔████╔██║█████╗
|
|
24
|
+
██╔══╝ ██║ ██║ ██║ ██╔██╗ ██║ ██║██║╚██╔╝██║██╔══╝
|
|
25
|
+
██║ ███████╗╚██████╔╝██╔╝ ██╗ ██║ ██║██║ ╚═╝ ██║███████╗
|
|
26
|
+
╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝
|
|
27
|
+
""".strip('\n')
|
|
28
|
+
|
|
29
|
+
# ¡AQUÍ ESTABA EL ERROR! Ahora TODOS los números miden exactamente 9 caracteres de ancho.
|
|
30
|
+
DIGITS = {
|
|
31
|
+
'0': [' ██████╗ ', '██╔═████╗', '██║██╔██║', '████╔╝██║', '╚█████╔╝ ', ' ╚════╝ '],
|
|
32
|
+
'1': [' ██╗ ', '███║ ', '╚██║ ', ' ██║ ', ' ██║ ', ' ╚═╝ '],
|
|
33
|
+
'2': ['██████╗ ', '╚════██╗ ', ' █████╔╝ ', '██╔═══╝ ', '███████╗ ', '╚══════╝ '],
|
|
34
|
+
'3': ['██████╗ ', '╚════██╗ ', ' █████╔╝ ', ' ╚═══██╗ ', '██████╔╝ ', '╚═════╝ '],
|
|
35
|
+
'4': ['██╗ ██╗ ', '██║ ██║ ', '███████║ ', '╚════██║ ', ' ██║ ', ' ╚═╝ '],
|
|
36
|
+
'5': ['███████╗ ', '██╔════╝ ', '███████╗ ', '╚════██║ ', '███████║ ', '╚══════╝ '],
|
|
37
|
+
'6': [' ██████╗ ', '██╔════╝ ', '███████╗ ', '██╔══██╗ ', '╚██████╔╝', ' ╚═════╝ '],
|
|
38
|
+
'7': ['███████╗ ', '╚════██║ ', ' ██╔╝ ', ' ██╔╝ ', ' ██║ ', ' ╚═╝ '],
|
|
39
|
+
'8': [' █████╗ ', '██╔══██╗ ', '╚█████╔╝ ', '██╔══██╗ ', '╚█████╔╝ ', ' ╚════╝ '],
|
|
40
|
+
'9': [' █████╗ ', '██╔══██╗ ', '╚██████║ ', ' ╚═══██║ ', ' █████╔╝ ', ' ╚════╝ '],
|
|
41
|
+
':': [' ', ' ██╗ ', ' ╚═╝ ', ' ██╗ ', ' ╚═╝ ', ' '],
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
DIAS = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]
|
|
45
|
+
MESES = ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"]
|
|
46
|
+
|
|
47
|
+
def apply_gradient(text, start_color=(0, 240, 255), end_color=(255, 0, 128)):
|
|
48
|
+
lines = text.split('\n')
|
|
49
|
+
height = max(1, len(lines) - 1)
|
|
50
|
+
width = max(len(line) for line in lines) if lines else 1
|
|
51
|
+
result = []
|
|
52
|
+
|
|
53
|
+
for y, line in enumerate(lines):
|
|
54
|
+
out_line = ""
|
|
55
|
+
for x, char in enumerate(line):
|
|
56
|
+
if char == ' ':
|
|
57
|
+
out_line += char
|
|
58
|
+
continue
|
|
59
|
+
factor = (x / width + y / height) / 2.0
|
|
60
|
+
r = int(start_color[0] + (end_color[0] - start_color[0]) * factor)
|
|
61
|
+
g = int(start_color[1] + (end_color[1] - start_color[1]) * factor)
|
|
62
|
+
b = int(start_color[2] + (end_color[2] - start_color[2]) * factor)
|
|
63
|
+
out_line += f"\033[38;2;{r};{g};{b}m{char}"
|
|
64
|
+
result.append(out_line + '\033[0m')
|
|
65
|
+
return '\n'.join(result)
|
|
66
|
+
|
|
67
|
+
def render_time(now):
|
|
68
|
+
text = now.strftime('%H:%M:%S')
|
|
69
|
+
rows = ['' for _ in range(6)]
|
|
70
|
+
for ch in text:
|
|
71
|
+
glyph = DIGITS.get(ch, [' '] * 6)
|
|
72
|
+
for i in range(6):
|
|
73
|
+
rows[i] += glyph[i] # Sin espacios extra, ya miden 9
|
|
74
|
+
return '\n'.join(rows)
|
|
75
|
+
|
|
76
|
+
def frame(now):
|
|
77
|
+
fecha = f"{DIAS[now.weekday()]}, {now.day} de {MESES[now.month - 1]} de {now.year}"
|
|
78
|
+
banner_gradient = apply_gradient(BANNER)
|
|
79
|
+
time_gradient = apply_gradient(render_time(now))
|
|
80
|
+
|
|
81
|
+
return '\n'.join([
|
|
82
|
+
banner_gradient,
|
|
83
|
+
'',
|
|
84
|
+
time_gradient,
|
|
85
|
+
'',
|
|
86
|
+
f" \033[38;2;180;100;255m{fecha}\033[0m",
|
|
87
|
+
'',
|
|
88
|
+
f" \033[38;2;120;120;160mPresiona Ctrl+C para salir\033[0m",
|
|
89
|
+
''
|
|
90
|
+
])
|
|
91
|
+
|
|
92
|
+
def main():
|
|
93
|
+
if os.name == 'nt':
|
|
94
|
+
os.system('')
|
|
95
|
+
|
|
96
|
+
sys.stdout.write(ALT_SCREEN_ON + HIDE_CURSOR + CLEAR)
|
|
97
|
+
sys.stdout.flush()
|
|
98
|
+
|
|
99
|
+
try:
|
|
100
|
+
while True:
|
|
101
|
+
ahora = datetime.now()
|
|
102
|
+
sys.stdout.write(RESET + frame(ahora))
|
|
103
|
+
sys.stdout.flush()
|
|
104
|
+
time.sleep(0.1)
|
|
105
|
+
except KeyboardInterrupt:
|
|
106
|
+
pass
|
|
107
|
+
finally:
|
|
108
|
+
sys.stdout.write(SHOW_CURSOR + ALT_SCREEN_OFF)
|
|
109
|
+
sys.stdout.flush()
|
|
110
|
+
print('\n ⏱ Reloj detenido. ¡Hasta pronto!\n')
|
|
111
|
+
|
|
112
|
+
if __name__ == '__main__':
|
|
113
|
+
main()
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Programador en español
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fluxtime-clock
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A futuristic neon digital clock for your terminal.
|
|
5
|
+
Author: Programador en español
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: clock,terminal,cli,digital-clock,ansi,truecolor
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
14
|
+
Classifier: Topic :: Utilities
|
|
15
|
+
Classifier: Topic :: Terminals
|
|
16
|
+
Requires-Python: >=3.9
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
<!--
|
|
22
|
+
FluxTime — Midnight Plasma Terminal Clock
|
|
23
|
+
Banner ASCII provided by the project author.
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
<div align="center">
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
██╗ ██╗███████╗██╗ ██████╗ ██████╗ ███╗ ███╗███████╗ ████████╗ ██████╗ ████████╗██╗ ██╗███████╗ ███████╗██╗ ██╗ ██╗██╗ ██╗████████╗██╗███╗ ███╗███████╗ ██████╗ ███████╗██████╗ ██████╗ ███████╗██╗████████╗ ██████╗ ██████╗ ██╗ ██╗
|
|
32
|
+
██║ ██║██╔════╝██║ ██╔════╝██╔═══██╗████╗ ████║██╔════╝ ╚══██╔══╝██╔═══██╗ ╚══██╔══╝██║ ██║██╔════╝ ██╔════╝██║ ██║ ██║╚██╗██╔╝╚══██╔══╝██║████╗ ████║██╔════╝ ██╔══██╗██╔════╝██╔══██╗██╔═══██╗██╔════╝██║╚══██╔══╝██╔═══██╗██╔══██╗╚██╗ ██╔╝
|
|
33
|
+
██║ █╗ ██║█████╗ ██║ ██║ ██║ ██║██╔████╔██║█████╗ ██║ ██║ ██║ ██║ ███████║█████╗ █████╗ ██║ ██║ ██║ ╚███╔╝ ██║ ██║██╔████╔██║█████╗ ██████╔╝█████╗ ██████╔╝██║ ██║███████╗██║ ██║ ██║ ██║██████╔╝ ╚████╔╝
|
|
34
|
+
██║███╗██║██╔══╝ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║ ██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══╝ ██║ ██║ ██║ ██╔██╗ ██║ ██║██║╚██╔╝██║██╔══╝ ██╔══██╗██╔══╝ ██╔═══╝ ██║ ██║╚════██║██║ ██║ ██║ ██║██╔══██╗ ╚██╔╝
|
|
35
|
+
╚███╔███╔╝███████╗███████╗╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗ ██║ ╚██████╔╝ ██║ ██║ ██║███████╗ ██║ ███████╗╚██████╔╝██╔╝ ██╗ ██║ ██║██║ ╚═╝ ██║███████╗ ██║ ██║███████╗██║ ╚██████╔╝███████║██║ ██║ ╚██████╔╝██║ ██║ ██║
|
|
36
|
+
╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Un reloj digital futurista para la terminal
|
|
40
|
+
|
|
41
|
+
**Python · ANSI TrueColor · Midnight Plasma**
|
|
42
|
+
|
|
43
|
+
[Características](#características) · [Instalación](#instalación) · [Uso](#uso) · [Documentación](docs/USAGE.md) · [Contribuir](CONTRIBUTING.md)
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Acerca de FluxTime
|
|
50
|
+
|
|
51
|
+
**FluxTime** es un reloj digital en tiempo real para la terminal, creado en Python. Dibuja números grandes con caracteres de bloque y utiliza una paleta oscura con rosa neón, cian eléctrico y violeta.
|
|
52
|
+
|
|
53
|
+
El objetivo es sencillo: convertir la hora de la terminal en una pequeña experiencia visual futurista, sin dependencias externas ni instalaciones complicadas.
|
|
54
|
+
|
|
55
|
+
## Características
|
|
56
|
+
|
|
57
|
+
- **Hora en vivo:** muestra horas, minutos y segundos en formato de 24 horas.
|
|
58
|
+
- **Dígitos grandes:** números y separadores dibujados con caracteres de estilo ANSI Shadow.
|
|
59
|
+
- **Paleta Midnight Plasma:** rosa neón, cian, violeta y gris azulado sobre un fondo muy oscuro.
|
|
60
|
+
- **Fecha en español:** día de la semana, día del mes, mes y año.
|
|
61
|
+
- **Ligero:** utiliza solamente la biblioteca estándar de Python.
|
|
62
|
+
- **Sin configuración:** no necesita claves API, cuentas ni conexión a internet.
|
|
63
|
+
- **Salida sencilla:** presiona `Ctrl+C` para detenerlo.
|
|
64
|
+
|
|
65
|
+
## Identidad visual
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+
FluxTime presenta un banner ASCII en rosa, un reloj grande en cian y la fecha en violeta. El aspecto final depende de la compatibilidad de tu terminal con las secuencias ANSI y los colores de 24 bits.
|
|
70
|
+
|
|
71
|
+
> El banner y el logotipo son gráficos vectoriales del proyecto, no una captura de pantalla del programa ejecutándose.
|
|
72
|
+
|
|
73
|
+
## Tabla de contenidos
|
|
74
|
+
|
|
75
|
+
- [Requisitos](#requisitos)
|
|
76
|
+
- [Instalación](#instalación)
|
|
77
|
+
- [Uso](#uso)
|
|
78
|
+
- [Controles](#controles)
|
|
79
|
+
- [Paleta visual](#paleta-visual)
|
|
80
|
+
- [Cómo funciona](#cómo-funciona)
|
|
81
|
+
- [Compatibilidad](#compatibilidad)
|
|
82
|
+
- [Estructura del proyecto](#estructura-del-proyecto)
|
|
83
|
+
- [Solución de problemas](#solución-de-problemas)
|
|
84
|
+
- [Contribuciones](#contribuciones)
|
|
85
|
+
- [Licencia](#licencia)
|
|
86
|
+
- [Autor](#autor)
|
|
87
|
+
|
|
88
|
+
## Requisitos
|
|
89
|
+
|
|
90
|
+
- Python 3.
|
|
91
|
+
- Una terminal que admita secuencias ANSI; para los colores previstos, se recomienda compatibilidad con ANSI TrueColor (24 bits).
|
|
92
|
+
|
|
93
|
+
No necesitas instalar paquetes con `pip`.
|
|
94
|
+
|
|
95
|
+
## Instalación
|
|
96
|
+
|
|
97
|
+
### Desde PyPI (cuando se publique la primera versión)
|
|
98
|
+
|
|
99
|
+
Instala FluxTime:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
python -m pip install fluxtime-clock
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Luego inicia el reloj con:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
fluxtime
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
En Windows puedes usar `py -m pip install fluxtime-clock`. Si el comando `fluxtime` no aparece en el PATH, revisa la configuración de instalación de Python.
|
|
112
|
+
|
|
113
|
+
### Desde el código fuente
|
|
114
|
+
|
|
115
|
+
Clona el repositorio y ejecuta el archivo directamente:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
git clone https://github.com/programador777lolxddd-dot/FluxTime.git
|
|
119
|
+
cd FluxTime
|
|
120
|
+
python FluxTime.py
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Uso
|
|
124
|
+
|
|
125
|
+
Ejecuta el programa con Python 3:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
python3 FluxTime.py
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
En Windows, o en sistemas donde el comando `python` apunta a Python 3, puedes usar:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
python FluxTime.py
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
El reloj se actualiza continuamente. Para detenerlo, presiona **Ctrl+C** en la terminal.
|
|
138
|
+
|
|
139
|
+
## Controles
|
|
140
|
+
|
|
141
|
+
| Acción | Control |
|
|
142
|
+
| --- | --- |
|
|
143
|
+
| Iniciar el reloj | Ejecutar el comando de Python |
|
|
144
|
+
| Detener el reloj | `Ctrl+C` |
|
|
145
|
+
| Actualizar la pantalla | Automático |
|
|
146
|
+
|
|
147
|
+
## Paleta visual
|
|
148
|
+
|
|
149
|
+
| Elemento | Color definido |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| Fondo | RGB `(10, 2, 20)` — azul/morado casi negro |
|
|
152
|
+
| Banner | RGB `(255, 0, 128)` — rosa neón |
|
|
153
|
+
| Hora | RGB `(0, 240, 255)` — cian eléctrico |
|
|
154
|
+
| Fecha | RGB `(180, 100, 255)` — violeta |
|
|
155
|
+
| Texto secundario | RGB `(120, 120, 160)` — gris azulado |
|
|
156
|
+
|
|
157
|
+
Los colores se aplican mediante secuencias ANSI TrueColor. La apariencia puede variar según la terminal y su configuración.
|
|
158
|
+
|
|
159
|
+
## Cómo funciona
|
|
160
|
+
|
|
161
|
+
1. Obtiene la hora local del sistema mediante `datetime.now()`.
|
|
162
|
+
2. Convierte la hora a texto con el formato de 24 horas.
|
|
163
|
+
3. Transforma cada dígito en filas de caracteres de bloque.
|
|
164
|
+
4. Construye una pantalla con el banner, el reloj y la fecha.
|
|
165
|
+
5. Limpia y vuelve a dibujar la terminal en un bucle.
|
|
166
|
+
|
|
167
|
+
El código usa los módulos estándar `os`, `sys`, `time` y `datetime`. No envía datos ni necesita servicios externos.
|
|
168
|
+
|
|
169
|
+
## Compatibilidad
|
|
170
|
+
|
|
171
|
+
- **Linux:** utiliza una terminal con soporte ANSI y TrueColor.
|
|
172
|
+
- **macOS:** utiliza una terminal con soporte ANSI y TrueColor.
|
|
173
|
+
- **Windows:** el código incluye una inicialización básica para ANSI; el resultado depende de la terminal y su configuración.
|
|
174
|
+
|
|
175
|
+
Si los colores no aparecen, prueba otra terminal compatible y verifica que el soporte de colores esté habilitado.
|
|
176
|
+
|
|
177
|
+
## Estructura del proyecto
|
|
178
|
+
|
|
179
|
+
```text
|
|
180
|
+
FluxTime/
|
|
181
|
+
├── FluxTime.py
|
|
182
|
+
├── README.md
|
|
183
|
+
├── LICENSE
|
|
184
|
+
├── CHANGELOG.md
|
|
185
|
+
├── CONTRIBUTING.md
|
|
186
|
+
├── CODE_OF_CONDUCT.md
|
|
187
|
+
├── SECURITY.md
|
|
188
|
+
├── .gitignore
|
|
189
|
+
└── docs/
|
|
190
|
+
└── USAGE.md
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Solución de problemas
|
|
194
|
+
|
|
195
|
+
**El comando `python3` no existe.**
|
|
196
|
+
Prueba `python FluxTime.py` o instala Python 3 desde una fuente oficial.
|
|
197
|
+
|
|
198
|
+
**Los colores se ven diferentes o no aparecen.**
|
|
199
|
+
Usa una terminal compatible con ANSI TrueColor (24 bits).
|
|
200
|
+
|
|
201
|
+
**El banner o el reloj se ve desalineado.**
|
|
202
|
+
Prueba una fuente monoespaciada y una ventana de terminal más ancha.
|
|
203
|
+
|
|
204
|
+
**Quiero detener el programa.**
|
|
205
|
+
Vuelve a la terminal donde está ejecutándose y presiona `Ctrl+C`.
|
|
206
|
+
|
|
207
|
+
## Contribuciones
|
|
208
|
+
|
|
209
|
+
¡Las mejoras, correcciones y sugerencias son bienvenidas! Antes de enviar cambios, revisa [CONTRIBUTING.md](CONTRIBUTING.md). Para reportar un problema, utiliza la sección **Issues** del repositorio.
|
|
210
|
+
|
|
211
|
+
## Licencia
|
|
212
|
+
|
|
213
|
+
FluxTime se distribuye bajo la licencia **MIT**. Lee el archivo [LICENSE](LICENSE) para conocer los términos completos.
|
|
214
|
+
|
|
215
|
+
## Autor
|
|
216
|
+
|
|
217
|
+
Creado por **Programador en español** en 2026.
|
|
218
|
+
|
|
219
|
+
Repositorio: https://github.com/programador777lolxddd-dot/FluxTime
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
<div align="center">
|
|
224
|
+
|
|
225
|
+
**FluxTime — la hora, en modo terminal.**
|
|
226
|
+
|
|
227
|
+
</div>
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
FluxTime — Midnight Plasma Terminal Clock
|
|
3
|
+
Banner ASCII provided by the project author.
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
<div align="center">
|
|
7
|
+
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
██╗ ██╗███████╗██╗ ██████╗ ██████╗ ███╗ ███╗███████╗ ████████╗ ██████╗ ████████╗██╗ ██╗███████╗ ███████╗██╗ ██╗ ██╗██╗ ██╗████████╗██╗███╗ ███╗███████╗ ██████╗ ███████╗██████╗ ██████╗ ███████╗██╗████████╗ ██████╗ ██████╗ ██╗ ██╗
|
|
12
|
+
██║ ██║██╔════╝██║ ██╔════╝██╔═══██╗████╗ ████║██╔════╝ ╚══██╔══╝██╔═══██╗ ╚══██╔══╝██║ ██║██╔════╝ ██╔════╝██║ ██║ ██║╚██╗██╔╝╚══██╔══╝██║████╗ ████║██╔════╝ ██╔══██╗██╔════╝██╔══██╗██╔═══██╗██╔════╝██║╚══██╔══╝██╔═══██╗██╔══██╗╚██╗ ██╔╝
|
|
13
|
+
██║ █╗ ██║█████╗ ██║ ██║ ██║ ██║██╔████╔██║█████╗ ██║ ██║ ██║ ██║ ███████║█████╗ █████╗ ██║ ██║ ██║ ╚███╔╝ ██║ ██║██╔████╔██║█████╗ ██████╔╝█████╗ ██████╔╝██║ ██║███████╗██║ ██║ ██║ ██║██████╔╝ ╚████╔╝
|
|
14
|
+
██║███╗██║██╔══╝ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║ ██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══╝ ██║ ██║ ██║ ██╔██╗ ██║ ██║██║╚██╔╝██║██╔══╝ ██╔══██╗██╔══╝ ██╔═══╝ ██║ ██║╚════██║██║ ██║ ██║ ██║██╔══██╗ ╚██╔╝
|
|
15
|
+
╚███╔███╔╝███████╗███████╗╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗ ██║ ╚██████╔╝ ██║ ██║ ██║███████╗ ██║ ███████╗╚██████╔╝██╔╝ ██╗ ██║ ██║██║ ╚═╝ ██║███████╗ ██║ ██║███████╗██║ ╚██████╔╝███████║██║ ██║ ╚██████╔╝██║ ██║ ██║
|
|
16
|
+
╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Un reloj digital futurista para la terminal
|
|
20
|
+
|
|
21
|
+
**Python · ANSI TrueColor · Midnight Plasma**
|
|
22
|
+
|
|
23
|
+
[Características](#características) · [Instalación](#instalación) · [Uso](#uso) · [Documentación](docs/USAGE.md) · [Contribuir](CONTRIBUTING.md)
|
|
24
|
+
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Acerca de FluxTime
|
|
30
|
+
|
|
31
|
+
**FluxTime** es un reloj digital en tiempo real para la terminal, creado en Python. Dibuja números grandes con caracteres de bloque y utiliza una paleta oscura con rosa neón, cian eléctrico y violeta.
|
|
32
|
+
|
|
33
|
+
El objetivo es sencillo: convertir la hora de la terminal en una pequeña experiencia visual futurista, sin dependencias externas ni instalaciones complicadas.
|
|
34
|
+
|
|
35
|
+
## Características
|
|
36
|
+
|
|
37
|
+
- **Hora en vivo:** muestra horas, minutos y segundos en formato de 24 horas.
|
|
38
|
+
- **Dígitos grandes:** números y separadores dibujados con caracteres de estilo ANSI Shadow.
|
|
39
|
+
- **Paleta Midnight Plasma:** rosa neón, cian, violeta y gris azulado sobre un fondo muy oscuro.
|
|
40
|
+
- **Fecha en español:** día de la semana, día del mes, mes y año.
|
|
41
|
+
- **Ligero:** utiliza solamente la biblioteca estándar de Python.
|
|
42
|
+
- **Sin configuración:** no necesita claves API, cuentas ni conexión a internet.
|
|
43
|
+
- **Salida sencilla:** presiona `Ctrl+C` para detenerlo.
|
|
44
|
+
|
|
45
|
+
## Identidad visual
|
|
46
|
+
|
|
47
|
+

|
|
48
|
+
|
|
49
|
+
FluxTime presenta un banner ASCII en rosa, un reloj grande en cian y la fecha en violeta. El aspecto final depende de la compatibilidad de tu terminal con las secuencias ANSI y los colores de 24 bits.
|
|
50
|
+
|
|
51
|
+
> El banner y el logotipo son gráficos vectoriales del proyecto, no una captura de pantalla del programa ejecutándose.
|
|
52
|
+
|
|
53
|
+
## Tabla de contenidos
|
|
54
|
+
|
|
55
|
+
- [Requisitos](#requisitos)
|
|
56
|
+
- [Instalación](#instalación)
|
|
57
|
+
- [Uso](#uso)
|
|
58
|
+
- [Controles](#controles)
|
|
59
|
+
- [Paleta visual](#paleta-visual)
|
|
60
|
+
- [Cómo funciona](#cómo-funciona)
|
|
61
|
+
- [Compatibilidad](#compatibilidad)
|
|
62
|
+
- [Estructura del proyecto](#estructura-del-proyecto)
|
|
63
|
+
- [Solución de problemas](#solución-de-problemas)
|
|
64
|
+
- [Contribuciones](#contribuciones)
|
|
65
|
+
- [Licencia](#licencia)
|
|
66
|
+
- [Autor](#autor)
|
|
67
|
+
|
|
68
|
+
## Requisitos
|
|
69
|
+
|
|
70
|
+
- Python 3.
|
|
71
|
+
- Una terminal que admita secuencias ANSI; para los colores previstos, se recomienda compatibilidad con ANSI TrueColor (24 bits).
|
|
72
|
+
|
|
73
|
+
No necesitas instalar paquetes con `pip`.
|
|
74
|
+
|
|
75
|
+
## Instalación
|
|
76
|
+
|
|
77
|
+
### Desde PyPI (cuando se publique la primera versión)
|
|
78
|
+
|
|
79
|
+
Instala FluxTime:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
python -m pip install fluxtime-clock
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Luego inicia el reloj con:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
fluxtime
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
En Windows puedes usar `py -m pip install fluxtime-clock`. Si el comando `fluxtime` no aparece en el PATH, revisa la configuración de instalación de Python.
|
|
92
|
+
|
|
93
|
+
### Desde el código fuente
|
|
94
|
+
|
|
95
|
+
Clona el repositorio y ejecuta el archivo directamente:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
git clone https://github.com/programador777lolxddd-dot/FluxTime.git
|
|
99
|
+
cd FluxTime
|
|
100
|
+
python FluxTime.py
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Uso
|
|
104
|
+
|
|
105
|
+
Ejecuta el programa con Python 3:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
python3 FluxTime.py
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
En Windows, o en sistemas donde el comando `python` apunta a Python 3, puedes usar:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
python FluxTime.py
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
El reloj se actualiza continuamente. Para detenerlo, presiona **Ctrl+C** en la terminal.
|
|
118
|
+
|
|
119
|
+
## Controles
|
|
120
|
+
|
|
121
|
+
| Acción | Control |
|
|
122
|
+
| --- | --- |
|
|
123
|
+
| Iniciar el reloj | Ejecutar el comando de Python |
|
|
124
|
+
| Detener el reloj | `Ctrl+C` |
|
|
125
|
+
| Actualizar la pantalla | Automático |
|
|
126
|
+
|
|
127
|
+
## Paleta visual
|
|
128
|
+
|
|
129
|
+
| Elemento | Color definido |
|
|
130
|
+
| --- | --- |
|
|
131
|
+
| Fondo | RGB `(10, 2, 20)` — azul/morado casi negro |
|
|
132
|
+
| Banner | RGB `(255, 0, 128)` — rosa neón |
|
|
133
|
+
| Hora | RGB `(0, 240, 255)` — cian eléctrico |
|
|
134
|
+
| Fecha | RGB `(180, 100, 255)` — violeta |
|
|
135
|
+
| Texto secundario | RGB `(120, 120, 160)` — gris azulado |
|
|
136
|
+
|
|
137
|
+
Los colores se aplican mediante secuencias ANSI TrueColor. La apariencia puede variar según la terminal y su configuración.
|
|
138
|
+
|
|
139
|
+
## Cómo funciona
|
|
140
|
+
|
|
141
|
+
1. Obtiene la hora local del sistema mediante `datetime.now()`.
|
|
142
|
+
2. Convierte la hora a texto con el formato de 24 horas.
|
|
143
|
+
3. Transforma cada dígito en filas de caracteres de bloque.
|
|
144
|
+
4. Construye una pantalla con el banner, el reloj y la fecha.
|
|
145
|
+
5. Limpia y vuelve a dibujar la terminal en un bucle.
|
|
146
|
+
|
|
147
|
+
El código usa los módulos estándar `os`, `sys`, `time` y `datetime`. No envía datos ni necesita servicios externos.
|
|
148
|
+
|
|
149
|
+
## Compatibilidad
|
|
150
|
+
|
|
151
|
+
- **Linux:** utiliza una terminal con soporte ANSI y TrueColor.
|
|
152
|
+
- **macOS:** utiliza una terminal con soporte ANSI y TrueColor.
|
|
153
|
+
- **Windows:** el código incluye una inicialización básica para ANSI; el resultado depende de la terminal y su configuración.
|
|
154
|
+
|
|
155
|
+
Si los colores no aparecen, prueba otra terminal compatible y verifica que el soporte de colores esté habilitado.
|
|
156
|
+
|
|
157
|
+
## Estructura del proyecto
|
|
158
|
+
|
|
159
|
+
```text
|
|
160
|
+
FluxTime/
|
|
161
|
+
├── FluxTime.py
|
|
162
|
+
├── README.md
|
|
163
|
+
├── LICENSE
|
|
164
|
+
├── CHANGELOG.md
|
|
165
|
+
├── CONTRIBUTING.md
|
|
166
|
+
├── CODE_OF_CONDUCT.md
|
|
167
|
+
├── SECURITY.md
|
|
168
|
+
├── .gitignore
|
|
169
|
+
└── docs/
|
|
170
|
+
└── USAGE.md
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Solución de problemas
|
|
174
|
+
|
|
175
|
+
**El comando `python3` no existe.**
|
|
176
|
+
Prueba `python FluxTime.py` o instala Python 3 desde una fuente oficial.
|
|
177
|
+
|
|
178
|
+
**Los colores se ven diferentes o no aparecen.**
|
|
179
|
+
Usa una terminal compatible con ANSI TrueColor (24 bits).
|
|
180
|
+
|
|
181
|
+
**El banner o el reloj se ve desalineado.**
|
|
182
|
+
Prueba una fuente monoespaciada y una ventana de terminal más ancha.
|
|
183
|
+
|
|
184
|
+
**Quiero detener el programa.**
|
|
185
|
+
Vuelve a la terminal donde está ejecutándose y presiona `Ctrl+C`.
|
|
186
|
+
|
|
187
|
+
## Contribuciones
|
|
188
|
+
|
|
189
|
+
¡Las mejoras, correcciones y sugerencias son bienvenidas! Antes de enviar cambios, revisa [CONTRIBUTING.md](CONTRIBUTING.md). Para reportar un problema, utiliza la sección **Issues** del repositorio.
|
|
190
|
+
|
|
191
|
+
## Licencia
|
|
192
|
+
|
|
193
|
+
FluxTime se distribuye bajo la licencia **MIT**. Lee el archivo [LICENSE](LICENSE) para conocer los términos completos.
|
|
194
|
+
|
|
195
|
+
## Autor
|
|
196
|
+
|
|
197
|
+
Creado por **Programador en español** en 2026.
|
|
198
|
+
|
|
199
|
+
Repositorio: https://github.com/programador777lolxddd-dot/FluxTime
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
<div align="center">
|
|
204
|
+
|
|
205
|
+
**FluxTime — la hora, en modo terminal.**
|
|
206
|
+
|
|
207
|
+
</div>
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fluxtime-clock
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A futuristic neon digital clock for your terminal.
|
|
5
|
+
Author: Programador en español
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: clock,terminal,cli,digital-clock,ansi,truecolor
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
14
|
+
Classifier: Topic :: Utilities
|
|
15
|
+
Classifier: Topic :: Terminals
|
|
16
|
+
Requires-Python: >=3.9
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
<!--
|
|
22
|
+
FluxTime — Midnight Plasma Terminal Clock
|
|
23
|
+
Banner ASCII provided by the project author.
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
<div align="center">
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
██╗ ██╗███████╗██╗ ██████╗ ██████╗ ███╗ ███╗███████╗ ████████╗ ██████╗ ████████╗██╗ ██╗███████╗ ███████╗██╗ ██╗ ██╗██╗ ██╗████████╗██╗███╗ ███╗███████╗ ██████╗ ███████╗██████╗ ██████╗ ███████╗██╗████████╗ ██████╗ ██████╗ ██╗ ██╗
|
|
32
|
+
██║ ██║██╔════╝██║ ██╔════╝██╔═══██╗████╗ ████║██╔════╝ ╚══██╔══╝██╔═══██╗ ╚══██╔══╝██║ ██║██╔════╝ ██╔════╝██║ ██║ ██║╚██╗██╔╝╚══██╔══╝██║████╗ ████║██╔════╝ ██╔══██╗██╔════╝██╔══██╗██╔═══██╗██╔════╝██║╚══██╔══╝██╔═══██╗██╔══██╗╚██╗ ██╔╝
|
|
33
|
+
██║ █╗ ██║█████╗ ██║ ██║ ██║ ██║██╔████╔██║█████╗ ██║ ██║ ██║ ██║ ███████║█████╗ █████╗ ██║ ██║ ██║ ╚███╔╝ ██║ ██║██╔████╔██║█████╗ ██████╔╝█████╗ ██████╔╝██║ ██║███████╗██║ ██║ ██║ ██║██████╔╝ ╚████╔╝
|
|
34
|
+
██║███╗██║██╔══╝ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔══╝ ██║ ██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══╝ ██║ ██║ ██║ ██╔██╗ ██║ ██║██║╚██╔╝██║██╔══╝ ██╔══██╗██╔══╝ ██╔═══╝ ██║ ██║╚════██║██║ ██║ ██║ ██║██╔══██╗ ╚██╔╝
|
|
35
|
+
╚███╔███╔╝███████╗███████╗╚██████╗╚██████╔╝██║ ╚═╝ ██║███████╗ ██║ ╚██████╔╝ ██║ ██║ ██║███████╗ ██║ ███████╗╚██████╔╝██╔╝ ██╗ ██║ ██║██║ ╚═╝ ██║███████╗ ██║ ██║███████╗██║ ╚██████╔╝███████║██║ ██║ ╚██████╔╝██║ ██║ ██║
|
|
36
|
+
╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Un reloj digital futurista para la terminal
|
|
40
|
+
|
|
41
|
+
**Python · ANSI TrueColor · Midnight Plasma**
|
|
42
|
+
|
|
43
|
+
[Características](#características) · [Instalación](#instalación) · [Uso](#uso) · [Documentación](docs/USAGE.md) · [Contribuir](CONTRIBUTING.md)
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Acerca de FluxTime
|
|
50
|
+
|
|
51
|
+
**FluxTime** es un reloj digital en tiempo real para la terminal, creado en Python. Dibuja números grandes con caracteres de bloque y utiliza una paleta oscura con rosa neón, cian eléctrico y violeta.
|
|
52
|
+
|
|
53
|
+
El objetivo es sencillo: convertir la hora de la terminal en una pequeña experiencia visual futurista, sin dependencias externas ni instalaciones complicadas.
|
|
54
|
+
|
|
55
|
+
## Características
|
|
56
|
+
|
|
57
|
+
- **Hora en vivo:** muestra horas, minutos y segundos en formato de 24 horas.
|
|
58
|
+
- **Dígitos grandes:** números y separadores dibujados con caracteres de estilo ANSI Shadow.
|
|
59
|
+
- **Paleta Midnight Plasma:** rosa neón, cian, violeta y gris azulado sobre un fondo muy oscuro.
|
|
60
|
+
- **Fecha en español:** día de la semana, día del mes, mes y año.
|
|
61
|
+
- **Ligero:** utiliza solamente la biblioteca estándar de Python.
|
|
62
|
+
- **Sin configuración:** no necesita claves API, cuentas ni conexión a internet.
|
|
63
|
+
- **Salida sencilla:** presiona `Ctrl+C` para detenerlo.
|
|
64
|
+
|
|
65
|
+
## Identidad visual
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+
FluxTime presenta un banner ASCII en rosa, un reloj grande en cian y la fecha en violeta. El aspecto final depende de la compatibilidad de tu terminal con las secuencias ANSI y los colores de 24 bits.
|
|
70
|
+
|
|
71
|
+
> El banner y el logotipo son gráficos vectoriales del proyecto, no una captura de pantalla del programa ejecutándose.
|
|
72
|
+
|
|
73
|
+
## Tabla de contenidos
|
|
74
|
+
|
|
75
|
+
- [Requisitos](#requisitos)
|
|
76
|
+
- [Instalación](#instalación)
|
|
77
|
+
- [Uso](#uso)
|
|
78
|
+
- [Controles](#controles)
|
|
79
|
+
- [Paleta visual](#paleta-visual)
|
|
80
|
+
- [Cómo funciona](#cómo-funciona)
|
|
81
|
+
- [Compatibilidad](#compatibilidad)
|
|
82
|
+
- [Estructura del proyecto](#estructura-del-proyecto)
|
|
83
|
+
- [Solución de problemas](#solución-de-problemas)
|
|
84
|
+
- [Contribuciones](#contribuciones)
|
|
85
|
+
- [Licencia](#licencia)
|
|
86
|
+
- [Autor](#autor)
|
|
87
|
+
|
|
88
|
+
## Requisitos
|
|
89
|
+
|
|
90
|
+
- Python 3.
|
|
91
|
+
- Una terminal que admita secuencias ANSI; para los colores previstos, se recomienda compatibilidad con ANSI TrueColor (24 bits).
|
|
92
|
+
|
|
93
|
+
No necesitas instalar paquetes con `pip`.
|
|
94
|
+
|
|
95
|
+
## Instalación
|
|
96
|
+
|
|
97
|
+
### Desde PyPI (cuando se publique la primera versión)
|
|
98
|
+
|
|
99
|
+
Instala FluxTime:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
python -m pip install fluxtime-clock
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Luego inicia el reloj con:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
fluxtime
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
En Windows puedes usar `py -m pip install fluxtime-clock`. Si el comando `fluxtime` no aparece en el PATH, revisa la configuración de instalación de Python.
|
|
112
|
+
|
|
113
|
+
### Desde el código fuente
|
|
114
|
+
|
|
115
|
+
Clona el repositorio y ejecuta el archivo directamente:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
git clone https://github.com/programador777lolxddd-dot/FluxTime.git
|
|
119
|
+
cd FluxTime
|
|
120
|
+
python FluxTime.py
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Uso
|
|
124
|
+
|
|
125
|
+
Ejecuta el programa con Python 3:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
python3 FluxTime.py
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
En Windows, o en sistemas donde el comando `python` apunta a Python 3, puedes usar:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
python FluxTime.py
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
El reloj se actualiza continuamente. Para detenerlo, presiona **Ctrl+C** en la terminal.
|
|
138
|
+
|
|
139
|
+
## Controles
|
|
140
|
+
|
|
141
|
+
| Acción | Control |
|
|
142
|
+
| --- | --- |
|
|
143
|
+
| Iniciar el reloj | Ejecutar el comando de Python |
|
|
144
|
+
| Detener el reloj | `Ctrl+C` |
|
|
145
|
+
| Actualizar la pantalla | Automático |
|
|
146
|
+
|
|
147
|
+
## Paleta visual
|
|
148
|
+
|
|
149
|
+
| Elemento | Color definido |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| Fondo | RGB `(10, 2, 20)` — azul/morado casi negro |
|
|
152
|
+
| Banner | RGB `(255, 0, 128)` — rosa neón |
|
|
153
|
+
| Hora | RGB `(0, 240, 255)` — cian eléctrico |
|
|
154
|
+
| Fecha | RGB `(180, 100, 255)` — violeta |
|
|
155
|
+
| Texto secundario | RGB `(120, 120, 160)` — gris azulado |
|
|
156
|
+
|
|
157
|
+
Los colores se aplican mediante secuencias ANSI TrueColor. La apariencia puede variar según la terminal y su configuración.
|
|
158
|
+
|
|
159
|
+
## Cómo funciona
|
|
160
|
+
|
|
161
|
+
1. Obtiene la hora local del sistema mediante `datetime.now()`.
|
|
162
|
+
2. Convierte la hora a texto con el formato de 24 horas.
|
|
163
|
+
3. Transforma cada dígito en filas de caracteres de bloque.
|
|
164
|
+
4. Construye una pantalla con el banner, el reloj y la fecha.
|
|
165
|
+
5. Limpia y vuelve a dibujar la terminal en un bucle.
|
|
166
|
+
|
|
167
|
+
El código usa los módulos estándar `os`, `sys`, `time` y `datetime`. No envía datos ni necesita servicios externos.
|
|
168
|
+
|
|
169
|
+
## Compatibilidad
|
|
170
|
+
|
|
171
|
+
- **Linux:** utiliza una terminal con soporte ANSI y TrueColor.
|
|
172
|
+
- **macOS:** utiliza una terminal con soporte ANSI y TrueColor.
|
|
173
|
+
- **Windows:** el código incluye una inicialización básica para ANSI; el resultado depende de la terminal y su configuración.
|
|
174
|
+
|
|
175
|
+
Si los colores no aparecen, prueba otra terminal compatible y verifica que el soporte de colores esté habilitado.
|
|
176
|
+
|
|
177
|
+
## Estructura del proyecto
|
|
178
|
+
|
|
179
|
+
```text
|
|
180
|
+
FluxTime/
|
|
181
|
+
├── FluxTime.py
|
|
182
|
+
├── README.md
|
|
183
|
+
├── LICENSE
|
|
184
|
+
├── CHANGELOG.md
|
|
185
|
+
├── CONTRIBUTING.md
|
|
186
|
+
├── CODE_OF_CONDUCT.md
|
|
187
|
+
├── SECURITY.md
|
|
188
|
+
├── .gitignore
|
|
189
|
+
└── docs/
|
|
190
|
+
└── USAGE.md
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Solución de problemas
|
|
194
|
+
|
|
195
|
+
**El comando `python3` no existe.**
|
|
196
|
+
Prueba `python FluxTime.py` o instala Python 3 desde una fuente oficial.
|
|
197
|
+
|
|
198
|
+
**Los colores se ven diferentes o no aparecen.**
|
|
199
|
+
Usa una terminal compatible con ANSI TrueColor (24 bits).
|
|
200
|
+
|
|
201
|
+
**El banner o el reloj se ve desalineado.**
|
|
202
|
+
Prueba una fuente monoespaciada y una ventana de terminal más ancha.
|
|
203
|
+
|
|
204
|
+
**Quiero detener el programa.**
|
|
205
|
+
Vuelve a la terminal donde está ejecutándose y presiona `Ctrl+C`.
|
|
206
|
+
|
|
207
|
+
## Contribuciones
|
|
208
|
+
|
|
209
|
+
¡Las mejoras, correcciones y sugerencias son bienvenidas! Antes de enviar cambios, revisa [CONTRIBUTING.md](CONTRIBUTING.md). Para reportar un problema, utiliza la sección **Issues** del repositorio.
|
|
210
|
+
|
|
211
|
+
## Licencia
|
|
212
|
+
|
|
213
|
+
FluxTime se distribuye bajo la licencia **MIT**. Lee el archivo [LICENSE](LICENSE) para conocer los términos completos.
|
|
214
|
+
|
|
215
|
+
## Autor
|
|
216
|
+
|
|
217
|
+
Creado por **Programador en español** en 2026.
|
|
218
|
+
|
|
219
|
+
Repositorio: https://github.com/programador777lolxddd-dot/FluxTime
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
<div align="center">
|
|
224
|
+
|
|
225
|
+
**FluxTime — la hora, en modo terminal.**
|
|
226
|
+
|
|
227
|
+
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
FluxTime
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=77.0.3"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "fluxtime-clock"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "A futuristic neon digital clock for your terminal."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = ["LICENSE"]
|
|
13
|
+
authors = [
|
|
14
|
+
{ name = "Programador en español" }
|
|
15
|
+
]
|
|
16
|
+
keywords = ["clock", "terminal", "cli", "digital-clock", "ansi", "truecolor"]
|
|
17
|
+
classifiers = [
|
|
18
|
+
"Development Status :: 3 - Alpha",
|
|
19
|
+
"Environment :: Console",
|
|
20
|
+
"Intended Audience :: End Users/Desktop",
|
|
21
|
+
"Operating System :: OS Independent",
|
|
22
|
+
"Programming Language :: Python :: 3",
|
|
23
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
24
|
+
"Topic :: Utilities",
|
|
25
|
+
"Topic :: Terminals",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
[project.scripts]
|
|
29
|
+
fluxtime = "FluxTime:main"
|
|
30
|
+
|
|
31
|
+
[tool.setuptools]
|
|
32
|
+
py-modules = ["FluxTime"]
|