Skip to main content

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, $ne y 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

vaultsphere-1.0.2.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vaultsphere-1.0.2-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

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

Hashes for vaultsphere-1.0.2.tar.gz
Algorithm Hash digest
SHA256 93fd7e36f36f1e10aa27e1903461a96429f7f07b7d734aec2c68f82bae06c15c
MD5 3149e95b68afcf6fd4cd961fd9f12e6a
BLAKE2b-256 4dd5d8ab63b1a9d9ad3f19a36c356377e0565b8521c9371b46d4c77db26aafb5

See more details on using hashes here.

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

Hashes for vaultsphere-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0dc1bcc29f11d569311554600b8d03c8b7cb4d8d3be262183afce004a5b1e0ee
MD5 1af0f87ade1d0ebe58c9ae3b47851f30
BLAKE2b-256 88100cee752d4a4dd97eeb955d6a8cbbf57a3acf10e01cc115ac3bd13ee9657d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page