Una librería para mejorar la interacción en la consola
Project description
bit8tools
Biblioteca Python moderna para crear interfaces CLI elegantes con colores, validación de entrada y componentes estilizados, inspirada en la era de los 8 bits 🎮✨
🚀 Características
Input
Clase para manejo de entrada de datos con validación:
text(): Entrada de textoint_number(): Entrada y validación de números enterosfloat_number(): Entrada y validación de números decimalesyes_no(): Entrada de opciones sí/nodate(): Entrada y validación de fechasemail(): Entrada y validación de correos electrónicospassword(): Entrada de contraseñasmenu(): Entrada de selección de menú
Output
Clase para mostrar información formateada:
print(): Impresión con coloresshow_warning(): Muestra mensajes de advertenciashow_error(): Muestra mensajes de errorconfirm(): Muestra mensajes de confirmaciónclear(): Limpia la pantallapress_enter_to_continue(): Pausa hasta que se presione Enterset_locale(): Configura la localizaciónformat_currency(): Formatea números como monedaprint_title(): Imprime un título con formatoshow_progress_bar(): Muestra una barra de progreso
Colors
Clase base para manejo de colores en terminal:
- Códigos de color para texto
- Códigos de color para fondos
- Utilidades de formateo
Alignment
Clase para manejo de alineación de texto:
LEFT: Alineación a la izquierdaCENTER: Alineación centradaRIGHT: Alineación a la derecha
Tabular
Clase para manejo de tablas en terminal:
tabulate(): Genera una tabla con los datos proporcionados
📦 Instalación
pip install bit8tools
🎮 Ejemplo de Uso
from bit8tools import Input, Output, Colors, Alignment, Tabular
# Entrada de datos
nombre = Input.text("Ingrese su nombre:", Colors.GREEN, Colors.BLUE)
edad = Input.int_number("Ingrese su edad:", Colors.GREEN, Colors.BLUE, 0, 120)
peso = Input.float_number("Ingrese su peso:", Colors.GREEN, Colors.BLUE, 50, 150)
continuar = Input.yes_no("¿Deseas continuar? (si/no):", Colors.GREEN, Colors.BLUE)
# Salida formateada
Output.print(nombre, Colors.WHITE)
Output.print(edad, Colors.WHITE)
Output.print(peso, Colors.WHITE)
Output.print(continuar, Colors.WHITE)
Output.show_warning("Esto es un mensaje de advertencia.")
Output.show_error("Esto es un mensaje de error.")
Output.confirm("Esto es un mensaje de confirmación.")
Output.clear()
Output.print("Esto es un mensaje de limpieza.", Colors.RED)
Output.set_locale("es_AR")
Output.print(f"Mi sueldo es de {Output.format_currency(367000)}", Colors.GREEN)
# Alineación de texto
Output.print("Texto alineado a la izquierda")
Output.print("Texto centrado", color=Colors.BLUE, alignment=Alignment.CENTER)
Output.print("Texto alineado a la derecha", alignment=Alignment.RIGHT)
# Datos de ejemplo para la tabla
data = [
{
"nombre": "Juan Carlos González",
"descripción": "Este es un texto muy largo que necesitará ser dividido",
"ciudad": "Madrid"
},
{
"nombre": "María",
"descripción": "Texto corto",
"ciudad": "Barcelona"
}
]
# Usar el método estático directamente
Tabular.tabulate(data, title="Lista de Usuarios")
# O especificar un ancho máximo
Tabular.tabulate(data, title="Lista de Usuarios", max_width=80)
# Barra de progreso
total_iterations = 100
for i in range(total_iterations + 1):
Output.show_progress_bar(i, total_iterations)
time.sleep(0.1)
🛠️ Requisitos
- Python 3.8 o superior
📜 Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
🤝 Contribuir
Las contribuciones son bienvenidas. Por favor, siéntete libre de:
- Reportar bugs
- Sugerir nuevas funcionalidades
- Enviar pull requests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bit8tools-1.0.1.tar.gz.
File metadata
- Download URL: bit8tools-1.0.1.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c138edd5749e2428b4bd03ef59647bda19cdb2f79e08dc54bc153d32725c4fc8
|
|
| MD5 |
57a48e3d85eda7f516778d1705622f53
|
|
| BLAKE2b-256 |
d1a4e4a6174d511b13714b0ebec1fe0a414ef684a07493de0ce61440ceae1cec
|
File details
Details for the file bit8tools-1.0.1-py3-none-any.whl.
File metadata
- Download URL: bit8tools-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db1a26ad1a37f4fa880fe4e7f8c2a75ec790cdcc672637ae63193df2590f5b24
|
|
| MD5 |
006ffed4c680b5a3473d7fb32e9eb70e
|
|
| BLAKE2b-256 |
458775abed0bffce9fc6981aa86deb8ba0046832c18f3677bf58e2d9a2872d33
|