Metadata-Version: 2.1
Name: midb
Version: 0.1.0
Summary: Mostly Invisible Database. A database access layer that acts like python in-memory objects.
Home-page: https://gitlab.com/gossrock/midb
Author: Peter Goss
Author-email: gossrock@gmail.com
License: UNKNOWN
Project-URL: Bug Tracker, https://gitlab.com/gossrock/midb/-/issues
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE

# Mostly Invisible Database

A database access layer that acts like python in-memory objects. 

---
Disclaimer: Only minimal attempts have been made at speed. And mainly
intended for personal projects. Deeply nested data structures will 
likely be slow.

---
Example:

``` python
>>> import midb
>>> root = midb.get_root('db_file.db')
>>> root['test'] = 1
>>> root['test2] = {'test3': 3}
>>> exit()
```
later ...
``` python
>>> import midb
>>> root = midb.get_root('db_file.db')
>>> root['test']
1
>>> root['test2']['test3']
3
>>> root['test2']
"PDict({'test3': 3})"
>>> root['test2'].in_memory()
{'test3': 3}
>>> exit()
```

---
### What's currently supported?
Currently, the types that are supported are:
* str
* None
* bool
* int
* float
* datetime.datetime
* datetime.date
* datetime.time
* dict (silently converted to PDict, must not contain unsupported types)

---
###Up Next: 
* Support for tuples as values.

---
###Future:

* Support for hashable tuples as dict keys. 
* Support for lists.
* Support for custom objects.

---
###Bugs

Please report bugs at https://gitlab.com/gossrock/midb/-/issues 








