Metadata-Version: 2.4
Name: PyDB-Encrypted
Version: 1.1.5
Summary: A simple, efficient, and encrypted Python database library for secure data storage
Home-page: https://github.com/Elang-elang/PyDB-Encrypted
Author: Elang-elang
Author-email: elangmuhammad888@gmail.com
License: MIT
Project-URL: Bug Tracker, https://github.com/Elang-elang/PyDB-Encrypted/issues
Project-URL: Documentation, https://github.com/Elang-elang/PyDB-Encrypted#readme
Project-URL: Source Code, https://github.com/Elang-elang/PyDB-Encrypted
Keywords: database,encryption,json,lightweight,embedded-database,python-database,encrypted-storage
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Classifier: Topic :: Security :: Cryptography
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: cryptography>=41.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# PyDB - Encrypted Python Database

## English

### Introduction

**PyDB** is a simple, efficient, and encrypted Python database library for storing data ranging from small to massive scale. This is an open-source database solution that uses JSON-based storage with encryption to keep your data secure.

### Key Features

- **Encrypted Storage**: All data is encrypted using password-based encryption
- **Simple API**: Easy-to-use interface for database operations
- **Type Safety**: Column definitions with data type validation
- **CRUD Operations**: Full support for Create, Read, Update, and Delete operations
- **Lightweight**: No external database server required
- **Python Native**: Pure Python implementation

### Basic Usage

```python
from pydb import (
    # Configurate
    Database, Column,
    
    # Type
    String, Number, Integer, Float, Boolean
)
# Create a new encrypted database
db = Database.create_new(
    "my_database.pydb", # file.pydb
    "my_password", # a password
)

# Define table columns
columns = {
    'id': Column('id', Integer, nullable=False),
    'name': Column('name', String, max_length=100),
    'email': Column('email', String)
}

# Create table and insert data
table = db.create_table("users", columns)
table.insert_data(id=1, name="John", email="john@example.com")

# Save database
db.save()
```

### Author

**Elang Muhammad R. J. (Elang-elang)**

### License

This project is licensed under the MIT License. If you modify or improve this code, please contact the author or include attribution and update the repository.

### Note

This database is based on encrypted JSON storage. While you can create similar databases from scratch or modify this script, databases created using similar concepts are considered derivative works and should maintain proper attribution.

---

## Bahasa Indonesia

### Perkenalan

**PyDB** adalah library database Python yang sederhana, efisien, dan terenkripsi untuk menyimpan data dari skala kecil hingga masif. Ini adalah solusi database open-source yang menggunakan penyimpanan berbasis JSON dengan enkripsi untuk menjaga keamanan data Anda.

### Fitur Utama

- **Penyimpanan Terenkripsi**: Semua data dienkripsi menggunakan enkripsi berbasis kata sandi
- **API Sederhana**: Interface yang mudah digunakan untuk operasi database
- **Keamanan Tipe Data**: Definisi kolom dengan validasi tipe data
- **Operasi CRUD**: Dukungan penuh untuk operasi Create, Read, Update, dan Delete
- **Ringan**: Tidak memerlukan server database eksternal
- **Native Python**: Implementasi murni Python

### Penggunaan Dasar

```python
from PyDB import (
    # Configurasi
    Database, Column,
    
    # Tipe
    String, Number, Integer, Float, Boolean
)
# Buat database terenkripsi baru
db = Database.create_new(
    "database_saya.pydb", # file.pydb
    "kata_sandi_saya" # kata sandi
)

# Definisikan kolom tabel
columns = {
    'id': Column('id', int, nullable=False),
    'nama': Column('nama', str, max_length=100),
    'email': Column('email', str)
}

# Buat tabel dan masukkan data
table = db.create_table("pengguna", columns)
table.insert_data(id=1, nama="John", email="john@example.com")

# Simpan database
db.save()
```

### Pembuat

**Elang Muhammad R. J. (Elang-elang)**

### Lisensi

Proyek ini dilisensikan di bawah MIT License. Jika Anda memodifikasi atau memperbaiki kode ini, harap hubungi pembuat atau sertakan atribusi dan perbarui repositori.

### Catatan

Database ini didasarkan pada penyimpanan JSON terenkripsi. Meskipun Anda dapat membuat database serupa dari awal atau memodifikasi script ini, database yang dibuat menggunakan konsep serupa dianggap sebagai karya turunan dan harus mempertahankan atribusi yang tepat.

---

## Installation

```bash
pip install PyDB-Encrypted
```

## Requirements

- Python 3.7+
- cryptography

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Contact

For questions or contributions, please contact Elang Muhammad R. J. (Elang-elang)
