Skip to main content

A schema-driven, file-based database with encryption

Project description

Pybase

GitHub Python License PyPI Tests Code style


Pybase é um banco de dados baseado em arquivos JSON com schema opcional, criptografia nativa e zero dependências externas — apenas Python puro.

✅ Sem servidor · ✅ Sem SQL · ✅ Sem dependências · ✅ Fácil


Instalação

pip install python-pybase

Python 3.10+ apenas. Nenhuma dependência externa é necessária.

Instalação para desenvolvimento

git clone https://github.com/marcosgabrielgomes110-collab/Pybase2.git
cd Pybase2
pip install -e .

Exemplo rápido

from pybase import Pybase as pb

# Schema opcional
users = pb.schema(
    nome=str,
    idade=int,
    senha=pb.cript(str),        # campo criptografado
    foto=pb.image,               # campo imagem
    email=pb.optional(str),      # opcional
)

# Criar/abrir banco
db = pb.database("meudb", "123", schema=users)

# Inserir
id_ = db.insert(nome="João", idade=30, senha="joao123")

# Consultar
db.query.all()                  # todos registros
db.query.find(idade__gte=18)   # filtro com operador
db.query.get(id=id_)           # por UUID

Funcionalidades

Funcionalidade Descrição
📦 Schema opcional Define a estrutura dos dados com tipos Python (str, int, float, bool)
🔒 Criptografia Campos protegidos com PBKDF2-SHA256 + HMAC-CTR
🖼️ Imagens Armazenamento automático de arquivos de imagem
🔍 Consultas Filtros, ordenação, paginação, operadores (__gte, __contains, etc.)
📋 Transações begin / commit / rollback
💾 Backup Exportação zip completa do banco
📤 Export JSON e CSV com filtros
🧹 Zero dependências Apenas stdlib do Python 3.10+

Documentação

  • Guia Rápido — comece aqui
  • Schema — tipos, campos opcionais, criptografia, imagem
  • Database — CRUD, transações, backup, export
  • Consultas — filtros, operadores, ordenação, paginação
  • Segurança — criptografia, escrita atômica, validação
  • API — referência completa

Testes

python -m pytest tests/ -v

Licença

MIT — veja LICENSE.


Contribuindo

Contribuições são bem-vindas! Veja CONTRIBUTING.md.

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

python_pybase-0.1.0.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

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

python_pybase-0.1.0-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file python_pybase-0.1.0.tar.gz.

File metadata

  • Download URL: python_pybase-0.1.0.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Freedesktop SDK","version":"25.08","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for python_pybase-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f0423700937da6274ca3773de51df1267fa5bf9846645f2ec473742c5c548973
MD5 59abb0718543d941e497906f01f5ba78
BLAKE2b-256 43c852605882862a0df05b93c2a45d127cf270ec374fd2d3635a40457a9816e7

See more details on using hashes here.

File details

Details for the file python_pybase-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: python_pybase-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Freedesktop SDK","version":"25.08","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for python_pybase-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bfde1805571512aac8350094e7236c9f3cd183aa8361788ab000f78d60bb28ee
MD5 cd762036546e771ef982ac57b99dcb05
BLAKE2b-256 65ce91917b8f16d74d2b3eca88c72f085fe041bf2afd9b3e06e2172558159b21

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