VaultSphere - A simple encrypted NoSQL-like database with base64 encoding.
Project description
🔐 VaultSphere
La base de datos NoSQL cifrada más brutal y sencilla para Python.
Guarda tus datos en JSON, pero con toda la seguridad y flexibilidad que necesitas.
✨ Características que te van a encantar
- 🔒 Cifrado súper seguro con Fernet (AES 128-bit).
- 📋 Esquemas validados para que tus datos sean siempre impecables.
- 🔍 Consultas estilo MongoDB con operadores poderosos (
$gt,$in,$ney más). - 🚀 Índices únicos para acelerar búsquedas y evitar duplicados.
- 💾 Backups automáticos y restauración sin drama.
- 🔄 Transacciones con rollback para operaciones seguras.
- 🖥️ CLI interactivo para controlar todo desde la terminal.
- 🔔 Hooks en carga y guardado para que le metas magia personalizada.
🚀 Instalación
Solo corre:
pip install vaultsphere
🛠️ Cómo usarlo (Ejemplo rápido)
from vaultsphere import VaultSphere, generate_key
# 🔑 Genera tu clave secreta y guárdala bien
key = generate_key()
# 📂 Define tus tablas y sus reglas (schema)
tables = {
"usuarios": {
"schema": {
"id": {"type": int, "required": True},
"nombre": {"type": str, "required": True},
"edad": {"type": int, "required": False}
},
"primaryKey": "id",
"unique": ["nombre"]
}
}
# 🗄️ Crea o abre la base de datos cifrada
db = VaultSphere("mi_db.vsdb", key, tables)
# ➕ Inserta un usuario nuevo
usuario = db.insert("usuarios", {"id": 1,"nombre": "Pedro", "edad": 18})
# 🔎 Busca todos los usuarios mayores o iguales a 18 años
usuarios_mayores = db.find("usuarios", {"edad": {"$gte": 18}})
# ✍️ Actualiza datos del usuario
db.update("usuarios", usuario["id"], {"edad": 19})
# ❌ Borra al usuario
db.delete("usuarios", usuario["id"])
# 💾 Guarda los cambios si usas autosave=False
db.save()
# 📦 Haz un backup manual
ruta_backup = db.backup()
# ♻️ Restaura un backup cuando quieras
db.restore(ruta_backup)
💻 CLI: Controla tu VaultSphere desde la consola
Ejecuta:
vaultsphere
Y usa estos comandos:
| Comando | Qué hace |
|---|---|
insert <tabla> <json> |
Inserta un nuevo documento |
read <tabla> <id> |
Lee un documento por su ID |
update <tabla> <id> <json> |
Actualiza un documento existente |
remove <tabla> <id> |
Elimina un documento por ID |
exit |
Salir del CLI |
Ejemplo:
VaultSphere> insert usuarios {"nombre": "Juan", "edad": 20}
VaultSphere> read usuarios 1
VaultSphere> update usuarios 1 {"edad": 21}
VaultSphere> remove usuarios 1
VaultSphere> exit
📄 Licencia
MIT License © 2025 zzzNeet
✨ Versiones
🎓 JS: VaultSphereJS 🧪 Experimental: VaultSphere
📬 Contacto
¿Tienes dudas, ideas o solo quieres saludar?
💌 Discord: .simplyneet
🐙 GitHub: github.com/simplyneet
Project details
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 vaultsphere-1.0.2.tar.gz.
File metadata
- Download URL: vaultsphere-1.0.2.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93fd7e36f36f1e10aa27e1903461a96429f7f07b7d734aec2c68f82bae06c15c
|
|
| MD5 |
3149e95b68afcf6fd4cd961fd9f12e6a
|
|
| BLAKE2b-256 |
4dd5d8ab63b1a9d9ad3f19a36c356377e0565b8521c9371b46d4c77db26aafb5
|
File details
Details for the file vaultsphere-1.0.2-py3-none-any.whl.
File metadata
- Download URL: vaultsphere-1.0.2-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dc1bcc29f11d569311554600b8d03c8b7cb4d8d3be262183afce004a5b1e0ee
|
|
| MD5 |
1af0f87ade1d0ebe58c9ae3b47851f30
|
|
| BLAKE2b-256 |
88100cee752d4a4dd97eeb955d6a8cbbf57a3acf10e01cc115ac3bd13ee9657d
|