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.0.tar.gz (13.8 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.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file vaultsphere-1.0.0.tar.gz.

File metadata

  • Download URL: vaultsphere-1.0.0.tar.gz
  • Upload date:
  • Size: 13.8 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.0.tar.gz
Algorithm Hash digest
SHA256 91a3ce3b5a9b5794453edc79c46fab82bab6227a16911398bbb84f6531e1ad43
MD5 da47410738ab0b5b1a1f262e2b349198
BLAKE2b-256 fb687a76c7e89079032799b4704d81b9c864f4dded31fff8cd2898964ea04059

See more details on using hashes here.

File details

Details for the file vaultsphere-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: vaultsphere-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79aaf9fe193e7c131bd4e73153c6d88ae0211904c6ff57d5e2b330cededa030c
MD5 3a8795844cc4412312953f7dd8418e8e
BLAKE2b-256 175048c1a8d00e794820906de59b320e2b30e5dda30153cc7e9d9b906b069dbd

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