Releases: CoCo-R38/Rheel_Data_Management
2.3
2.3 Update (Type Registry + Optional Type)
2.2 was just an internal version for testing that was never published!
In this update, the Type Registry has a lot of issues fixed, while making it easier to use. Read README for more information on the usage.
Also the Optional[T] type is now natively supported and default for RDM files. Means if you store union types like str | NoneType it will be automatically saved as Optional[str]. But don't worry, inside the code it will still be handled as a normal union type for compatibility. Only the RDM file will display it as an Optional[T] type.
Also you can use Optional as a type like any other:
import rheelDM
from typing import Optional
data = rheelDM.Obj()
data.section("user").set("display_name", Optional[str], None)
# IS THE SAME AS
data.section("user").set("display_name", str | None, None)2.1
2.0
Major Update (v2)
This update features the new Rheel Temporary Data (RTD) file system, which stores data similar to RDM but data expires after some time and becomes unusable.
For detailed changes see source code changes or the README file.
1.7
Conversion Update
- Store
datetime,date,timeandPathwithout quotation marks - Fix from_dict() function as it expected dict to be stored with tuples containing type and value
-> now it accepts both normal dicts and the tuple-version - from_dict() now gathers values without a predefined section into a default_section
- added convert_file() which can convert files like json, toml, yaml and ini into RDM files for you using from_dict()
1.6
Small Update
This update contains bug fixes and extended features, as well as the minimum python requirement changed to 3.9.
If you encounter any problems on this version, please report them, as the lowest version tested is 3.11.
- Lowered required python version to 3.9+ instead of 3.13+ (due to generic types, this is the lowest possible version)
- Added option to load()'s
defaultparameter: default can now be of typebool
-> load() can now return aboolalongObj - add(), multiply() and extend() now support generic types as previously
dict[str, int]was not treated asdict
Full Changelog: 1.5...1.6
1.5
1.4
This may seem like a small update but it's huge in functionality. You can now change Object values dynamically without having to overwrite them every time. Also you can delete key-value-type pairs now.
Full Changelog:
- Extended Documentations
- Added
overwriteoption to set() to prevent accidental key-overrides - Create deep-copies of mutable values in set() to prevent modifications to variables
- Added
defaultoption to get() if key isn't found - Added delete() to delete keys and their type and value from RDM files
- Added add() as a math-method for
int,floatanddatetime.datetime - Added multiply() as a math-method for
intandfloat - Added extend() as a type-dynamic-method to extend the content of
str,list,set,dictandpathlib.Path