# Encrypted JSON Database
## Overview
This package provides a lightweight, encrypted JSON-based database with support for collections, document operations, and aggregation. It uses the `cryptography` library for encryption and decryption of data, ensuring secure storage of your sensitive information.
## Features
- **Encryption and Decryption**: Uses Fernet symmetric encryption to protect your data.
- **Collections**: Supports creating, reading, updating, and deleting collections.
- **Documents**: Allows adding, finding, updating, and deleting documents within collections.
- **Aggregation**: Provides basic aggregation functionality for querying documents.
- **Linking Collections**: Supports linking between collections to create references.
- **Tree Structure**: Allows creating tree structures by linking root documents to their child documents.
## Usage
```python
from pyjondb import database
from pyjondb import session
auth = session.start()
auth.create_user('admin', 'adminpass', roles=['admin', 'user'])
# Authenticate and get a session ID
session_id = auth.authenticate('admin', 'adminpass')
# Create a database instance with the session ID
db = database.init('my_database', 'my_secret_key', auth, debug=True)
# Create a database
db.create(session_id)
# Create a collection
db.create_collection('my_collection', session_id)
# Add a document
db.add_document('my_collection', {'name': 'example'}, session_id)
# Read the collection
print(db.read_collection('my_collection', session_id))
```
### Learn more about it at the docs: https://github.com/t-a-g-o/PyJONDB/wiki
Raw data
{
"_id": null,
"home_page": "https://tago.works/",
"name": "PyJONDB",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "encryption database, encrypted database, json database, secure storage, lightweight database, document store, fernet encryption, cryptography, data security, data encryption, collections, document operations, aggregation, query, NoSQL, python database, uuid, file-based database, local database, secure json, nested data, tree structure, data management, data linkage, collection linking",
"author": "t-a-g-o",
"author_email": "santiago@tago.works",
"download_url": "https://files.pythonhosted.org/packages/7f/5d/7249aee36044f80f3a551a6483fdea03d9132b520cd90d777d86f46d6de4/pyjondb-2.0.tar.gz",
"platform": null,
"description": "# Encrypted JSON Database\r\n\r\n## Overview\r\nThis package provides a lightweight, encrypted JSON-based database with support for collections, document operations, and aggregation. It uses the `cryptography` library for encryption and decryption of data, ensuring secure storage of your sensitive information.\r\n\r\n## Features\r\n- **Encryption and Decryption**: Uses Fernet symmetric encryption to protect your data.\r\n- **Collections**: Supports creating, reading, updating, and deleting collections.\r\n- **Documents**: Allows adding, finding, updating, and deleting documents within collections.\r\n- **Aggregation**: Provides basic aggregation functionality for querying documents.\r\n- **Linking Collections**: Supports linking between collections to create references.\r\n- **Tree Structure**: Allows creating tree structures by linking root documents to their child documents.\r\n\r\n## Usage\r\n```python\r\nfrom pyjondb import database\r\nfrom pyjondb import session\r\n\r\nauth = session.start()\r\nauth.create_user('admin', 'adminpass', roles=['admin', 'user'])\r\n\r\n# Authenticate and get a session ID\r\nsession_id = auth.authenticate('admin', 'adminpass')\r\n\r\n# Create a database instance with the session ID\r\ndb = database.init('my_database', 'my_secret_key', auth, debug=True)\r\n\r\n# Create a database\r\ndb.create(session_id)\r\n\r\n# Create a collection\r\ndb.create_collection('my_collection', session_id)\r\n\r\n# Add a document\r\ndb.add_document('my_collection', {'name': 'example'}, session_id)\r\n\r\n# Read the collection\r\nprint(db.read_collection('my_collection', session_id))\r\n```\r\n### Learn more about it at the docs: https://github.com/t-a-g-o/PyJONDB/wiki\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A lightweight, encrypted JSON-based database with support for collections, document operations, and aggregation.",
"version": "2.0",
"project_urls": {
"Bug Reports": "https://github.com/t-a-g-o/PyJONDB/issues",
"Homepage": "https://tago.works/",
"Source": "https://github.com/t-a-g-o/PyJONDB/"
},
"split_keywords": [
"encryption database",
" encrypted database",
" json database",
" secure storage",
" lightweight database",
" document store",
" fernet encryption",
" cryptography",
" data security",
" data encryption",
" collections",
" document operations",
" aggregation",
" query",
" nosql",
" python database",
" uuid",
" file-based database",
" local database",
" secure json",
" nested data",
" tree structure",
" data management",
" data linkage",
" collection linking"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7f5d7249aee36044f80f3a551a6483fdea03d9132b520cd90d777d86f46d6de4",
"md5": "a68e82b2bd8401c3296a2cd2adcbf74b",
"sha256": "5c6f5199edd49fa4428d5128ac03111f392821d6546d1263a455bdc4ccb3acd7"
},
"downloads": -1,
"filename": "pyjondb-2.0.tar.gz",
"has_sig": false,
"md5_digest": "a68e82b2bd8401c3296a2cd2adcbf74b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 8884,
"upload_time": "2024-06-01T16:22:58",
"upload_time_iso_8601": "2024-06-01T16:22:58.152113Z",
"url": "https://files.pythonhosted.org/packages/7f/5d/7249aee36044f80f3a551a6483fdea03d9132b520cd90d777d86f46d6de4/pyjondb-2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-01 16:22:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "t-a-g-o",
"github_project": "PyJONDB",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyjondb"
}