shadecrypt 0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- shadecrypt-0.1/PKG-INFO +250 -0
- shadecrypt-0.1/README.md +221 -0
- shadecrypt-0.1/setup.cfg +4 -0
- shadecrypt-0.1/setup.py +34 -0
- shadecrypt-0.1/shadecrypt/__init__.py +16 -0
- shadecrypt-0.1/shadecrypt/cli.py +259 -0
- shadecrypt-0.1/shadecrypt/config.py +22 -0
- shadecrypt-0.1/shadecrypt/core.py +694 -0
- shadecrypt-0.1/shadecrypt/exceptions.py +29 -0
- shadecrypt-0.1/shadecrypt/schedule.py +34 -0
- shadecrypt-0.1/shadecrypt/service.py +130 -0
- shadecrypt-0.1/shadecrypt.egg-info/PKG-INFO +250 -0
- shadecrypt-0.1/shadecrypt.egg-info/SOURCES.txt +14 -0
- shadecrypt-0.1/shadecrypt.egg-info/dependency_links.txt +1 -0
- shadecrypt-0.1/shadecrypt.egg-info/entry_points.txt +3 -0
- shadecrypt-0.1/shadecrypt.egg-info/top_level.txt +1 -0
shadecrypt-0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: shadecrypt
|
|
3
|
+
Version: 0.1
|
|
4
|
+
Summary: A class oriented lightweight database with a cli wrapper for any device: store, update, copy, and remove structured data with a single command. Perfect for embedded devices, mobiles, devtools, and quick local services.
|
|
5
|
+
Author: Shade
|
|
6
|
+
Author-email: adesolasherifdeen3@gmail.com
|
|
7
|
+
License: GPL-3.0
|
|
8
|
+
Project-URL: GitHub, https://github.com/harkerbyte
|
|
9
|
+
Project-URL: Facebook, https://facebook.com/harkerbyte
|
|
10
|
+
Project-URL: Whatsapp, https://whatsapp.com/channel/0029Vb5f98Z90x2p6S1rhT0S
|
|
11
|
+
Project-URL: Youtube, https://youtube.com/@harkerbyte
|
|
12
|
+
Project-URL: Instagram, https://instagram.com/harkerbyte
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Topic :: Database :: Database Engines/Servers
|
|
18
|
+
Requires-Python: >=3.8
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
Dynamic: author
|
|
21
|
+
Dynamic: author-email
|
|
22
|
+
Dynamic: classifier
|
|
23
|
+
Dynamic: description
|
|
24
|
+
Dynamic: description-content-type
|
|
25
|
+
Dynamic: license
|
|
26
|
+
Dynamic: project-url
|
|
27
|
+
Dynamic: requires-python
|
|
28
|
+
Dynamic: summary
|
|
29
|
+
|
|
30
|
+
# Shadecrypt
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+

|
|
34
|
+

|
|
35
|
+

|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
๐ **shadeDB**, also know as **shadecrypt**, is a lightweight, multipurpose **CLI + Python database server** โ small enough to run anywhere, yet powerful enough to manage structured data with speed and simplicity.
|
|
40
|
+
|
|
41
|
+
Unlike traditional file-based CLIs, Shadecrypt works more like Redis:
|
|
42
|
+
|
|
43
|
+
- You **initialize once** โ a background server process holds the live database in memory.
|
|
44
|
+
- All future CLI commands (`put`, `get`, `update`, etc.) talk to that server via a local socket.
|
|
45
|
+
- The server **automatically persists** data to a `.scdb` file, with optional write and backup controls.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## โจ Features
|
|
50
|
+
|
|
51
|
+
- **Class-oriented design** โ core database logic is in the `shadeDB` class.
|
|
52
|
+
- **Persistent workflow** โ one live server handles all operations.
|
|
53
|
+
- **Background persistence** โ in-memory with disk persistence.
|
|
54
|
+
- **Portable** โ runs on Linux, macOS, Windows, Android (via Termux).
|
|
55
|
+
- **Multipurpose CLI** โ simple commands: `init`, `start`, `use`, `pull`, `get`, `update`, `remove`, `ls`, `stop`.
|
|
56
|
+
- **Config-aware** โ automatically tracks the โcurrentโ DB in `~/.shadecrypt/config.scdb`.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## ๐ง Installation
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pip install shadecrypt
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
After install, the `shadecrypt` command is available globally. A shorter keyword for shadecrypt - **scdb**
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## โก Quickstart (CLI)
|
|
71
|
+
|
|
72
|
+
### 1. Initialize a database
|
|
73
|
+
Creates `./mydb.scdb`, starts the server, and sets it as default:
|
|
74
|
+
```bash
|
|
75
|
+
shadecrypt init ./mydb.scdb backup
|
|
76
|
+
```
|
|
77
|
+
โ ๏ธ Only provide the "backup" argument if you intend for the server to register newer backups as you make new changes.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### 2. Insert data
|
|
82
|
+
```bash
|
|
83
|
+
shadecrypt update alice.age 17 && scdb update alice.gender female
|
|
84
|
+
```
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 3. Fetch data
|
|
88
|
+
```bash
|
|
89
|
+
shadecrypt get alice
|
|
90
|
+
# {"nickname": "Shade", "status": "active"}
|
|
91
|
+
```
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### 4. Nested access
|
|
95
|
+
```bash
|
|
96
|
+
shadecrypt pull alice.nickname
|
|
97
|
+
# "Shade"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
Making single value updates, it is compulsory to surround with double quotes.
|
|
102
|
+
### 5. Update
|
|
103
|
+
```bash
|
|
104
|
+
shadecrypt update alice "my name is alice"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### 6. Remove
|
|
110
|
+
```bash
|
|
111
|
+
shadecrypt remove alice
|
|
112
|
+
# deletes {"nickname":"shade","status":"active"}
|
|
113
|
+
```
|
|
114
|
+
### Remove nested
|
|
115
|
+
```bash
|
|
116
|
+
shadecrypt remove alice.nickname
|
|
117
|
+
# deletes {"nickname":"shade"}
|
|
118
|
+
````
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### 8. Check for the current database
|
|
122
|
+
```bash
|
|
123
|
+
shadecrypt ls
|
|
124
|
+
# ./mysql.scsb
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### 9. Switch database
|
|
130
|
+
```bash
|
|
131
|
+
shadecrypt use ./backup.scdb backup
|
|
132
|
+
# Only provide the backup argument, if it need arises.
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### 10. Stop server
|
|
138
|
+
```bash
|
|
139
|
+
shadecrypt stop
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## ๐ Python API
|
|
145
|
+
|
|
146
|
+
Shadecrypt can also be embedded directly into Python apps using the `ShadeDB` class.
|
|
147
|
+
|
|
148
|
+
### ๐ง Initialize
|
|
149
|
+
```python
|
|
150
|
+
from shadecrypt.core import ShadeDB
|
|
151
|
+
|
|
152
|
+
db = ShadeDB(
|
|
153
|
+
file="./data.scdb",
|
|
154
|
+
write=True,
|
|
155
|
+
id=True,
|
|
156
|
+
backup=False
|
|
157
|
+
)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Parameters**
|
|
161
|
+
- `file (str)` โ Path to `.scdb` file
|
|
162
|
+
- `write (bool)` โ Persist changes to disk (default: `True`)
|
|
163
|
+
- `id (bool)` โ Assign unique ID per entry (default: `True`)
|
|
164
|
+
- `backup (bool)` โ Keep backup copy (default: `False`)
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### ๐ ๏ธ Key Methods
|
|
169
|
+
|
|
170
|
+
```python
|
|
171
|
+
db.update(("alice", {"nickname": "Shade", "status": "active"})) # Insert/update
|
|
172
|
+
db.get("alice", multiple=True/False) # Fetch record
|
|
173
|
+
db.get("alice.nickname") # Fetch nested value
|
|
174
|
+
db.get_context("alice") # Get full dict
|
|
175
|
+
db.get_by_id(1) # Fetch by ID
|
|
176
|
+
db.get_id("alice",multiple=True/False) # Get ID of key
|
|
177
|
+
db.items() # List all entries
|
|
178
|
+
db.import_dict({...},overwrite=True/False) # Import dictionary, can also overwrite existing records
|
|
179
|
+
db.export_dict() # Export to dictionary
|
|
180
|
+
db.remove("alice") # Delete entry
|
|
181
|
+
db.clear() # Clear all
|
|
182
|
+
db.status() # DB status
|
|
183
|
+
db.__performance__() # Performance stats
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## โก Example Workflow
|
|
189
|
+
|
|
190
|
+
```python
|
|
191
|
+
from shadecrypt.core import ShadeDB
|
|
192
|
+
|
|
193
|
+
db = ShadeDB("./appdata.scdb", write=True)
|
|
194
|
+
|
|
195
|
+
# Insert
|
|
196
|
+
db.update(("alice", {"nickname": "Shade", "status": "active"}))
|
|
197
|
+
|
|
198
|
+
# Nested access
|
|
199
|
+
print(db.get("alice.nickname")) # Shade
|
|
200
|
+
|
|
201
|
+
# Full context
|
|
202
|
+
print(db.get_context("alice")) # {'nickname': 'Shade', 'status': 'active'}
|
|
203
|
+
|
|
204
|
+
# Export
|
|
205
|
+
print(db.export_dict())
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## ๐ Command & Method Reference
|
|
211
|
+
|
|
212
|
+
| Command / Method | Description |
|
|
213
|
+
|---------------------------|-------------|
|
|
214
|
+
| `init <file> <backup>` | Initialize DB + server |
|
|
215
|
+
| `use <file> <backup>` | Switch database |
|
|
216
|
+
| `pull <key>.<value>` | Fetch nested record |
|
|
217
|
+
| `get <key>` <multiple> | Fetch data |
|
|
218
|
+
| `update <key>.<value>` | Update existing record |
|
|
219
|
+
| `remove <key>` | Delete entry ( Supports dot notation)|
|
|
220
|
+
| `ls` | Current database |
|
|
221
|
+
| `stop` | Stop server |
|
|
222
|
+
| `update(item)` | Insert/update via Python |
|
|
223
|
+
| `get(key,multiple=True/False)` | Fetch record |
|
|
224
|
+
| `get_context(key)` | Full dictionary view |
|
|
225
|
+
| `get_by_id(id)` | Fetch by unique ID |
|
|
226
|
+
| `get_id(key,multiple=True/False)` | Return ID of key |
|
|
227
|
+
| `items()` | List all entries |
|
|
228
|
+
| `import_dict(dict,overwrite=True/False)` | Import bulk dict |
|
|
229
|
+
| `export_dict()` | Export full dict |
|
|
230
|
+
| `remove(key)` | Delete by key/ID |
|
|
231
|
+
| `clear()` | Wipe database |
|
|
232
|
+
| `status()` | DB status info |
|
|
233
|
+
| `__performance__()` | Compile time & stats |
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
### ๐ฎ Few hints on what's to come in future updates
|
|
238
|
+
- **Remote mode** โ optional TCP listener so Shadecrypt can be queried from another device (like Redis-lite networking).
|
|
239
|
+
- **Replication/Sync** โ lightweight push/pull sync between devices.
|
|
240
|
+
- **Faster query returns** โ implement a new algorithm to speed up query processing.
|
|
241
|
+
- **Custom encryption algorithm** โ device based encryption algorithm.
|
|
242
|
+
- **Plugin system** โ user-defined operations via Python modules.
|
|
243
|
+
- **Connect with me** โ using the links below for stunning updates.
|
|
244
|
+
|
|
245
|
+
## ๐ Connect
|
|
246
|
+
|
|
247
|
+
- **GitHub:** [harkerbyte](https://github.com/harkerbyte)
|
|
248
|
+
- **FB:** [facebook.com/harkerbyte](https://facebook.com/harkerbyte)
|
|
249
|
+
- **Instagram:** [instagram.com/harkerbyte](https://instagram.com/harkerbyte)
|
|
250
|
+
- **Community (WhatsApp):** [Join Here](https://chat.whatsapp.com/GuppqwKhp4H7OCaLWcOz40?mode=ac_t)
|
shadecrypt-0.1/README.md
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Shadecrypt
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
๐ **shadeDB**, also know as **shadecrypt**, is a lightweight, multipurpose **CLI + Python database server** โ small enough to run anywhere, yet powerful enough to manage structured data with speed and simplicity.
|
|
11
|
+
|
|
12
|
+
Unlike traditional file-based CLIs, Shadecrypt works more like Redis:
|
|
13
|
+
|
|
14
|
+
- You **initialize once** โ a background server process holds the live database in memory.
|
|
15
|
+
- All future CLI commands (`put`, `get`, `update`, etc.) talk to that server via a local socket.
|
|
16
|
+
- The server **automatically persists** data to a `.scdb` file, with optional write and backup controls.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## โจ Features
|
|
21
|
+
|
|
22
|
+
- **Class-oriented design** โ core database logic is in the `shadeDB` class.
|
|
23
|
+
- **Persistent workflow** โ one live server handles all operations.
|
|
24
|
+
- **Background persistence** โ in-memory with disk persistence.
|
|
25
|
+
- **Portable** โ runs on Linux, macOS, Windows, Android (via Termux).
|
|
26
|
+
- **Multipurpose CLI** โ simple commands: `init`, `start`, `use`, `pull`, `get`, `update`, `remove`, `ls`, `stop`.
|
|
27
|
+
- **Config-aware** โ automatically tracks the โcurrentโ DB in `~/.shadecrypt/config.scdb`.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## ๐ง Installation
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pip install shadecrypt
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
After install, the `shadecrypt` command is available globally. A shorter keyword for shadecrypt - **scdb**
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## โก Quickstart (CLI)
|
|
42
|
+
|
|
43
|
+
### 1. Initialize a database
|
|
44
|
+
Creates `./mydb.scdb`, starts the server, and sets it as default:
|
|
45
|
+
```bash
|
|
46
|
+
shadecrypt init ./mydb.scdb backup
|
|
47
|
+
```
|
|
48
|
+
โ ๏ธ Only provide the "backup" argument if you intend for the server to register newer backups as you make new changes.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### 2. Insert data
|
|
53
|
+
```bash
|
|
54
|
+
shadecrypt update alice.age 17 && scdb update alice.gender female
|
|
55
|
+
```
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### 3. Fetch data
|
|
59
|
+
```bash
|
|
60
|
+
shadecrypt get alice
|
|
61
|
+
# {"nickname": "Shade", "status": "active"}
|
|
62
|
+
```
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### 4. Nested access
|
|
66
|
+
```bash
|
|
67
|
+
shadecrypt pull alice.nickname
|
|
68
|
+
# "Shade"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
Making single value updates, it is compulsory to surround with double quotes.
|
|
73
|
+
### 5. Update
|
|
74
|
+
```bash
|
|
75
|
+
shadecrypt update alice "my name is alice"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### 6. Remove
|
|
81
|
+
```bash
|
|
82
|
+
shadecrypt remove alice
|
|
83
|
+
# deletes {"nickname":"shade","status":"active"}
|
|
84
|
+
```
|
|
85
|
+
### Remove nested
|
|
86
|
+
```bash
|
|
87
|
+
shadecrypt remove alice.nickname
|
|
88
|
+
# deletes {"nickname":"shade"}
|
|
89
|
+
````
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### 8. Check for the current database
|
|
93
|
+
```bash
|
|
94
|
+
shadecrypt ls
|
|
95
|
+
# ./mysql.scsb
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### 9. Switch database
|
|
101
|
+
```bash
|
|
102
|
+
shadecrypt use ./backup.scdb backup
|
|
103
|
+
# Only provide the backup argument, if it need arises.
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### 10. Stop server
|
|
109
|
+
```bash
|
|
110
|
+
shadecrypt stop
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## ๐ Python API
|
|
116
|
+
|
|
117
|
+
Shadecrypt can also be embedded directly into Python apps using the `ShadeDB` class.
|
|
118
|
+
|
|
119
|
+
### ๐ง Initialize
|
|
120
|
+
```python
|
|
121
|
+
from shadecrypt.core import ShadeDB
|
|
122
|
+
|
|
123
|
+
db = ShadeDB(
|
|
124
|
+
file="./data.scdb",
|
|
125
|
+
write=True,
|
|
126
|
+
id=True,
|
|
127
|
+
backup=False
|
|
128
|
+
)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Parameters**
|
|
132
|
+
- `file (str)` โ Path to `.scdb` file
|
|
133
|
+
- `write (bool)` โ Persist changes to disk (default: `True`)
|
|
134
|
+
- `id (bool)` โ Assign unique ID per entry (default: `True`)
|
|
135
|
+
- `backup (bool)` โ Keep backup copy (default: `False`)
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### ๐ ๏ธ Key Methods
|
|
140
|
+
|
|
141
|
+
```python
|
|
142
|
+
db.update(("alice", {"nickname": "Shade", "status": "active"})) # Insert/update
|
|
143
|
+
db.get("alice", multiple=True/False) # Fetch record
|
|
144
|
+
db.get("alice.nickname") # Fetch nested value
|
|
145
|
+
db.get_context("alice") # Get full dict
|
|
146
|
+
db.get_by_id(1) # Fetch by ID
|
|
147
|
+
db.get_id("alice",multiple=True/False) # Get ID of key
|
|
148
|
+
db.items() # List all entries
|
|
149
|
+
db.import_dict({...},overwrite=True/False) # Import dictionary, can also overwrite existing records
|
|
150
|
+
db.export_dict() # Export to dictionary
|
|
151
|
+
db.remove("alice") # Delete entry
|
|
152
|
+
db.clear() # Clear all
|
|
153
|
+
db.status() # DB status
|
|
154
|
+
db.__performance__() # Performance stats
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## โก Example Workflow
|
|
160
|
+
|
|
161
|
+
```python
|
|
162
|
+
from shadecrypt.core import ShadeDB
|
|
163
|
+
|
|
164
|
+
db = ShadeDB("./appdata.scdb", write=True)
|
|
165
|
+
|
|
166
|
+
# Insert
|
|
167
|
+
db.update(("alice", {"nickname": "Shade", "status": "active"}))
|
|
168
|
+
|
|
169
|
+
# Nested access
|
|
170
|
+
print(db.get("alice.nickname")) # Shade
|
|
171
|
+
|
|
172
|
+
# Full context
|
|
173
|
+
print(db.get_context("alice")) # {'nickname': 'Shade', 'status': 'active'}
|
|
174
|
+
|
|
175
|
+
# Export
|
|
176
|
+
print(db.export_dict())
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## ๐ Command & Method Reference
|
|
182
|
+
|
|
183
|
+
| Command / Method | Description |
|
|
184
|
+
|---------------------------|-------------|
|
|
185
|
+
| `init <file> <backup>` | Initialize DB + server |
|
|
186
|
+
| `use <file> <backup>` | Switch database |
|
|
187
|
+
| `pull <key>.<value>` | Fetch nested record |
|
|
188
|
+
| `get <key>` <multiple> | Fetch data |
|
|
189
|
+
| `update <key>.<value>` | Update existing record |
|
|
190
|
+
| `remove <key>` | Delete entry ( Supports dot notation)|
|
|
191
|
+
| `ls` | Current database |
|
|
192
|
+
| `stop` | Stop server |
|
|
193
|
+
| `update(item)` | Insert/update via Python |
|
|
194
|
+
| `get(key,multiple=True/False)` | Fetch record |
|
|
195
|
+
| `get_context(key)` | Full dictionary view |
|
|
196
|
+
| `get_by_id(id)` | Fetch by unique ID |
|
|
197
|
+
| `get_id(key,multiple=True/False)` | Return ID of key |
|
|
198
|
+
| `items()` | List all entries |
|
|
199
|
+
| `import_dict(dict,overwrite=True/False)` | Import bulk dict |
|
|
200
|
+
| `export_dict()` | Export full dict |
|
|
201
|
+
| `remove(key)` | Delete by key/ID |
|
|
202
|
+
| `clear()` | Wipe database |
|
|
203
|
+
| `status()` | DB status info |
|
|
204
|
+
| `__performance__()` | Compile time & stats |
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
### ๐ฎ Few hints on what's to come in future updates
|
|
209
|
+
- **Remote mode** โ optional TCP listener so Shadecrypt can be queried from another device (like Redis-lite networking).
|
|
210
|
+
- **Replication/Sync** โ lightweight push/pull sync between devices.
|
|
211
|
+
- **Faster query returns** โ implement a new algorithm to speed up query processing.
|
|
212
|
+
- **Custom encryption algorithm** โ device based encryption algorithm.
|
|
213
|
+
- **Plugin system** โ user-defined operations via Python modules.
|
|
214
|
+
- **Connect with me** โ using the links below for stunning updates.
|
|
215
|
+
|
|
216
|
+
## ๐ Connect
|
|
217
|
+
|
|
218
|
+
- **GitHub:** [harkerbyte](https://github.com/harkerbyte)
|
|
219
|
+
- **FB:** [facebook.com/harkerbyte](https://facebook.com/harkerbyte)
|
|
220
|
+
- **Instagram:** [instagram.com/harkerbyte](https://instagram.com/harkerbyte)
|
|
221
|
+
- **Community (WhatsApp):** [Join Here](https://chat.whatsapp.com/GuppqwKhp4H7OCaLWcOz40?mode=ac_t)
|
shadecrypt-0.1/setup.cfg
ADDED
shadecrypt-0.1/setup.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from setuptools import setup, find_packages
|
|
2
|
+
|
|
3
|
+
setup(
|
|
4
|
+
name="shadecrypt",
|
|
5
|
+
version="0.1",
|
|
6
|
+
description="A class oriented lightweight database with a cli wrapper for any device: store, update, copy, and remove structured data with a single command. Perfect for embedded devices, mobiles, devtools, and quick local services.",
|
|
7
|
+
author="Shade",
|
|
8
|
+
author_email="adesolasherifdeen3@gmail.com",
|
|
9
|
+
entry_points={
|
|
10
|
+
"console_scripts": [
|
|
11
|
+
"shadecrypt=shadecrypt.cli:main",
|
|
12
|
+
"scdb=shadecrypt.cli:main"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
include_package_data=True,
|
|
16
|
+
python_requires='>=3.8',
|
|
17
|
+
license="GPL-3.0",
|
|
18
|
+
classifiers=[
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"License :: OSI Approved :: MIT License",
|
|
21
|
+
"Environment :: Console",
|
|
22
|
+
"Intended Audience :: Developers",
|
|
23
|
+
"Topic :: Database :: Database Engines/Servers",
|
|
24
|
+
],
|
|
25
|
+
project_urls={
|
|
26
|
+
"GitHub": "https://github.com/harkerbyte",
|
|
27
|
+
"Facebook": "https://facebook.com/harkerbyte",
|
|
28
|
+
"Whatsapp" : "https://whatsapp.com/channel/0029Vb5f98Z90x2p6S1rhT0S",
|
|
29
|
+
"Youtube" : "https://youtube.com/@harkerbyte",
|
|
30
|
+
"Instagram": "https://instagram.com/harkerbyte"
|
|
31
|
+
},
|
|
32
|
+
long_description=open("README.md", encoding="utf-8").read(),
|
|
33
|
+
long_description_content_type="text/markdown",
|
|
34
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from shadecrypt.core import shadeDB
|
|
3
|
+
|
|
4
|
+
try:
|
|
5
|
+
os.mkdir('~/.shadecrypt/',0o744)
|
|
6
|
+
except Exception as error:
|
|
7
|
+
pass
|
|
8
|
+
CONFIG_PATH = '~/.shadecrypt/config.scdb'
|
|
9
|
+
if not os.path.exists(CONFIG_PATH):
|
|
10
|
+
with open(CONFIG_PATH,"w"):
|
|
11
|
+
pass
|
|
12
|
+
os.chmod(CONFIG_PATH,0o644)
|
|
13
|
+
instance = shadeDB(CONFIG_PATH,write=True)
|
|
14
|
+
instance = shadeDB(CONFIG_PATH,write=True)
|
|
15
|
+
|
|
16
|
+
|