Changelog
Name changes
Over the course of development the project name has changed. Previous names include:
History
Version 1.2.4 (2025-06-05)
- Documentation and README cleanup and fixing errors (spelling, examples, etc.).
- Added
Basic Authto serve tool. - Extending
findby using paths for relative matching. - Updating links to new repository.
- Added new alias
rmtoobj del. - Removed
module_importandclass_definitionfromUnsafeRickle. - Renamed
functiontopythonto reflect functionality better, leavingfunctionopen to safer sandboxed scripting. - Dismantling
ObjectRicklerinto functionsobject_to_rickleandrickle_to_object. RICKLE_OPENING_BRACESandRICKLE_CLOSING_BRACESdropped in favor of singleRICKLE_HANDLEBARSwith default{{}}.- Remove
from_file,from_csv,api_jsonin favour offile,csv,api. - Dropped
add_htmlas the same could be achieved throughapi. - Removed
SchemaandConvertclasses fromtools. - Created new
schemapackage to contain all schema related functionality. - Renamed CLI tool
obj_functoobj_python_functo reflect future changes. - Added
PUTmethod toservetool to now be able to create new paths with values. - Added
x-rickle-output-typeheader toserveso that different output types can be requested.
Version 1.2.3 (2025-03-25)
- Adding ability to load list (array) instead of dict (object), opening way for lists of configs.
- New list type internal representation "array".
- Added new
putmethod for putting values in Rickle with any path. Where the path does not exist, the path will be created. - Changed
setto only mutate paths that already exist. Creating clear distinction between set and put. - Added multi document YAML support.
- Added JSONL support.
- Added new
findCLI tool to find key / value pairs.
Version 1.2.2 (2025-02-17)
- Rename of entire project from
rickledtorickle! - Fixed bug in CLI tool not able to run
- Made
provider_access_keyoptional forsecrettype. - Can now use list type in path method, for example
[0]/path/towill reference the first object in the list.
Version 1.2.1 (2025-02-12)
- Major additions and changes, bumped version to
1.2. - Init args now parsed with opening braces
{{and closing braces}}. - Opening and closing braces can be defined using environment variables
RICKLE_OPENING_BRACESandRICKLE_CLOSING_BRACES. RICKLE_OPENING_BRACESandRICKLE_CLOSING_BRACEScan also be passed as init arguments.- Added optional INI support.
- Added optional .ENV support if extras installed
pip install rickled[dotenv]. - Added optional XML support if extras installed
pip install rickled[xml]. - Renamed optional extras for twisted, now installed
pip install rickled[net]. - With added ability to use XML, keys are now cleansed of non alphabetic characters, but kept for serialisation.
- Added more customisation. Path separator can now be define with init arg
RICKLE_PATH_SEPor environment variableRICKLE_PATH_SEP. - Added list type index getter to paths, for example
/path/to/a_list[0]returns first element (ifa_listis of list type) - Added static method
flatten_dictto squash a Python dictionary into a thin dictionary with depth of 1. - Undo the flattening of a dictionary with static method
inflate_dict. - Now able to dump to INI file or string using
to_ini. - When reading INI, dictionaries are automatically inflated, split on
RICKLE_INI_PATH_SEPenv var or init arg. - Furthermore,
RICKLE_INI_OPENING_BRACESandRICKLE_INI_CLOSING_BRACEScan be set with env var or init arg. - Removed unsafe code and usage into separate class,
UnsafeRickle. - Added optional schema validator if extras installed (only for Python>3.8)
pip install rickled[validators]. - Adding ability to pipe into CLI tool, i.e. perform
cat file.json | rickle conv -x json -t yaml. - Added a helper
classify_stringto tools to classify a string type. - Renaming optional arguments for CLI in order to be more clear on their meaning.
-ibecomes--input-dbecomes--dir-obecomes--output-tbecomes--output-type- Added
fullto install extras to install all extras. - Alternative for
from_filetype is nowfile. Will be deprecated in the future. - Alternative for
from_csvtype is nowcsv. Will be deprecated in the future. - Deprecating
add_env_variableforadd_env. - Deprecating
add_csv_fileforadd_csv. - Deprecating
add_from_fileforadd_from. - Deprecating
add_api_json_callforadd_api_json. - Deprecating
add_attrforadd. - New init arg
RICKLE_NAME_CLEAN_UPto skip cleaning key names of disallowed chars. - Fixed logical flaw in
dictwhere cleaned up keys not being used. - Added helper mapping
get_native_type_nameto map Python type names to format native names. - Renamed schema types to conform more to JSON schema, i.e.
dictbecomesobject,listbecomesarrayetc. - Added
minandmaxto array type in schema validation. - Added ability to use
jsonschemainstead inSchema.schema_validationby settinguse_json_schema=Trueif jsonschema is installed. - Added
--extrasto schema generation to add things like "required" etc. - Renamed
schematopropertiesfor objects in default rickle schema. - Renamed
schematoitemsfor objects in default rickle schema. - Added
add_secretto Rickle, now able to add secrets from cloud providersaws,google,azure. - Added
add_random_valueto Rickle, usinggenerate_random_valuein tools. Useful for mock data. - Moved
--output-typeto the main argument parserrickle.
Version 1.1.3 (2024-05-05)
- New addition: TOML now supported
Version 1.1.2 (2024-04-23)
- Minor fix in schema tool where bool mistaken as int.
- Added CLI tools documentation.
- Fixed bug when using CLI tool and twisted not installed, better error handling in CLI tools.
- Changed the default
serialised=Falsefor the to YAML and JSON file/string methods. - Changed default behaviour of
serveto return deserialised form. - Added 404 response to serve when path can not be traversed.
- Added
-stoserveto serve the file in serialised form. - Added
-ttoserveto serve the file in output type JSON or YAML (JSON by default). - Changed
-fto-iinservetool for consistency.
Version 1.1.1 (2024-03-19)
- Updated documentation and links to pages.
Version 1.1.0 (2024-02-05)
- Added
setto BaseRickle, as a equivalent to thegetmethod. - Updated the
getmethod to handle document paths. - Added
removemethod to delete items from object. - Added the
__delitem__dunder, now able todel rickle['key']. - Fixed bug where
search_pathwas exiting loops in dictionary too early (after first find). - Implemented type guessing of params for functions when using path like calling.
- Added ability to add params to callable. Example
rickle('/path/to/func', x=1, y='str'). - Bug fix in trying to parse URL by user
deajan, commit7cb1773.
Version 1.0.2 (2023-12-12)
- Added
strictboolean parameter for allowing properties that are reserved keywords.
Version 1.0.1 (2023-10-03)
- Added the ability to load a Rickle from URL at init.
- Added the
-bflag toserveCLI tool to open host on browser. - Bug fix in
infer_read_file_typewhen reading unknown file suffix. - Renamed the
-iflag to-ainserveCLI tool.
Version 1.0.0 (2023-09-20)
- Added the schema validation tool
schemaintools. - Added all CLI tools.
- Now releasing version 1.0.0
Version 0.3.5 (2023-09-09)
- Added the first of the
rickled.tools, theconverter. - Added first CLI tools
rickle convandrickle serve.
Version 0.3.4 (2023-07-20)
- Fixed error when importing from
rickled.netwhen openssl is not installed.
Version 0.3.3 (2023-07-20)
- Adding optional installation of
twistedlibrary. - Added
serve_rickle_httpandserve_rickle_httpstorickled.netto serve Rickles as REST API.
Version 0.3.2 (2023-04-07)
- When calling
dicton rickle, hot loaded items were not being serialised. Fixed.
Version 0.3.1 (2023-04-02)
- Fixed issue for path based query, where Rickle objects are considered callable (rightfully).
- Uses
inspect.isfunctioninstead ofcallable. - Added
metato base class for getting metadata of a property.
Version 0.3.0 (2023-02-16)
- Bumped up to minor 3, close to releasing version 1.0 after http server is implemented.
- Added the
hot_loadproperty to API calls, making it load on call instead of only on start. - Added the
hot_loadproperty to HTML page, making it load on call instead of only on start. - Added the
hot_loadproperty to add file, making it load on call instead of only on start.
Version 0.2.7 (2023-02-15)
-Complete revamp of internal versioning.
Version 0.2.6 (2023-02-15)
- Fixed the same bug, but the root cause. The fact that modules are imported before proper install.
Version 0.2.5 (2023-01-18)
- Fixed a bug where requests is not installed
Version 0.2.4 (2022-09-02)
- Added ability to get nodes by using Unix style paths to get to nodes.
- Added a safe load environment variable "RICKLE_SAFE_LOAD" to override all lambda loads (as a safety measure).
- Added
search_pathto search for a key in the Rickle. - Removed
includes_self_referencedue to confusion. - Added a third way to load CSV files, see example documentation.
- Added
load_as_ricktoadd_api_json_call.
Version 0.2.3 (2022-03-13)
- Merged but cleaned up contributions by Fabian.
Version 0.2.2 (2022-02-14)
- Added
do_recursiveparam to.getto optionally do a deeper recursive search. - Do you agree that valentine's day is bullshit? Because my gf doesn't.
Version 0.2.1 (2021-12-08)
- Added
add_class_definitionto define classes. - Created a new class,
ObjectRickler, to dump (almost) any object or convert to Rickle. - Added
add_module_importto Rickle, with functionality to add global Python module imports.
Version 0.2.0 (2021-12-06)
- Renamed project to
Rickledto avoid any possible lawsuits from money hungry media execs. - Pickle Rick was a great name, possibly even considered a parody which is protected under copyright law.
- But rather safe than sued...
Version 0.1.14 (2021-10-28)
- Added new
add_html_pageto load HTML text. - Added new
add_csv_fileto load CSV files as either a list of lists, or list of PickleRicks.
Version 0.1.13 (2021-10-07)
-Added ability to load from multiple YAML files or JSON files from start up.
Version 0.1.12 (2021-09-23)
- Fixed major bug, YAML was not loaded!
- Adding preload arguments for load and replace values within YAML files using
_|PARAM|_ - Added new API JSON call method, to load and create a Rick from an API response
add_api_json_call. - Added new ability to load other YAML, JSON, or text files from within, using
add_from_file. - Added
add_base64to load base 64 encoded data.
Version 0.1.11 (2021-09-09)
- Fixed bug in
getfor finding values.
Version 0.1.10 (2021-05-01)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.9 (2020-12-17)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.7 (2020-12-17)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.6 (2020-12-17)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.5 (2020-12-17)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.4 (2020-12-17)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.3 (2020-12-17)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.2 (2020-12-17)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.1 (2020-11-19)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.1.0 (2020-11-11)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.0.2 (2020-10-02)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history
Version 0.0.1 (2020-10-02)
Under previous name pickle-rick.
See https://pypi.org/project/pickle-rick/#history