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.
@@ -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
+ ![FluxTime — Midnight Plasma](assets/fluxtime-banner.svg)
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
+ ![Logotipo de FluxTime](assets/fluxtime-logo.svg)
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
+ ![FluxTime — Midnight Plasma](assets/fluxtime-banner.svg)
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
+ ![Logotipo de FluxTime](assets/fluxtime-logo.svg)
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
+ ![FluxTime — Midnight Plasma](assets/fluxtime-banner.svg)
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
+ ![Logotipo de FluxTime](assets/fluxtime-logo.svg)
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,9 @@
1
+ FluxTime.py
2
+ LICENSE
3
+ README.md
4
+ pyproject.toml
5
+ fluxtime_clock.egg-info/PKG-INFO
6
+ fluxtime_clock.egg-info/SOURCES.txt
7
+ fluxtime_clock.egg-info/dependency_links.txt
8
+ fluxtime_clock.egg-info/entry_points.txt
9
+ fluxtime_clock.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ fluxtime = FluxTime:main
@@ -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"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+