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

Uploaded Python 3

File details

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

File metadata

  • Download URL: vaultsphere-1.0.3.tar.gz
  • Upload date:
  • Size: 13.6 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.3.tar.gz
Algorithm Hash digest
SHA256 bae5702ca9fba37f08c5d8fff1d9ee160849bd08c9ec5c090ecfbd4d6e6f6570
MD5 bd08f66c33b103dae062fc52bc3b23ed
BLAKE2b-256 b6e3c55d7fcdaa6d138c7ecabb9b5c0f3c80521824f00cd9802e036e1612e38c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vaultsphere-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.8 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 df76682f46f26b35a9f814b1f7cac6e1d566400643247fa993d10913b83d63d4
MD5 25e31513d3f535a1d981d5f1ea5d70a0
BLAKE2b-256 214c8eda6ba0f948e06be1a35c3c5022ed4370d23e4af5f043724d67b1a51158

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