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.1.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.1-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vaultsphere-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 dae17696b921cdcdf46bcb84439993052947bbf20759f32a04da09c877e013ac
MD5 b7b7e6cd264437a929432589cf34dce4
BLAKE2b-256 7d2a22b95f6cb1455d2cf28a323b9a90b1e1979ced28549434aef2466f11caa4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vaultsphere-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f45cc1f14304611bc91644b02abe26c1f3f2a376a3a45e823b4d966f67c6bded
MD5 4378545f3f22f4abbb3df85a0dcee5ef
BLAKE2b-256 e582eaf71a5fec8fd889ad7d3bf3852a23558e29f17073a0848e099c97aad19a

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