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 Auth
to serve tool. - Extending
find
by using paths for relative matching. - Updating links to new repository.
- Added new alias
rm
toobj del
. - Removed
module_import
andclass_definition
fromUnsafeRickle
. - Renamed
function
topython
to reflect functionality better, leavingfunction
open to safer sandboxed scripting. - Dismantling
ObjectRickler
into functionsobject_to_rickle
andrickle_to_object
. RICKLE_OPENING_BRACES
andRICKLE_CLOSING_BRACES
dropped in favor of singleRICKLE_HANDLEBARS
with default{{}}
.- Remove
from_file
,from_csv
,api_json
in favour offile
,csv
,api
. - Dropped
add_html
as the same could be achieved throughapi
. - Removed
Schema
andConvert
classes fromtools
. - Created new
schema
package to contain all schema related functionality. - Renamed CLI tool
obj_func
toobj_python_func
to reflect future changes. - Added
PUT
method toserve
tool to now be able to create new paths with values. - Added
x-rickle-output-type
header toserve
so 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
put
method for putting values in Rickle with any path. Where the path does not exist, the path will be created. - Changed
set
to only mutate paths that already exist. Creating clear distinction between set and put. - Added multi document YAML support.
- Added JSONL support.
- Added new
find
CLI tool to find key / value pairs.
Version 1.2.2 (2025-02-17)
- Rename of entire project from
rickled
torickle
! - Fixed bug in CLI tool not able to run
- Made
provider_access_key
optional forsecret
type. - Can now use list type in path method, for example
[0]/path/to
will 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_BRACES
andRICKLE_CLOSING_BRACES
. RICKLE_OPENING_BRACES
andRICKLE_CLOSING_BRACES
can 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_SEP
or environment variableRICKLE_PATH_SEP
. - Added list type index getter to paths, for example
/path/to/a_list[0]
returns first element (ifa_list
is of list type) - Added static method
flatten_dict
to 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_SEP
env var or init arg. - Furthermore,
RICKLE_INI_OPENING_BRACES
andRICKLE_INI_CLOSING_BRACES
can 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_string
to tools to classify a string type. - Renaming optional arguments for CLI in order to be more clear on their meaning.
-i
becomes--input
-d
becomes--dir
-o
becomes--output
-t
becomes--output-type
- Added
full
to install extras to install all extras. - Alternative for
from_file
type is nowfile
. Will be deprecated in the future. - Alternative for
from_csv
type is nowcsv
. Will be deprecated in the future. - Deprecating
add_env_variable
foradd_env
. - Deprecating
add_csv_file
foradd_csv
. - Deprecating
add_from_file
foradd_from
. - Deprecating
add_api_json_call
foradd_api_json
. - Deprecating
add_attr
foradd
. - New init arg
RICKLE_NAME_CLEAN_UP
to skip cleaning key names of disallowed chars. - Fixed logical flaw in
dict
where cleaned up keys not being used. - Added helper mapping
get_native_type_name
to map Python type names to format native names. - Renamed schema types to conform more to JSON schema, i.e.
dict
becomesobject
,list
becomesarray
etc. - Added
min
andmax
to array type in schema validation. - Added ability to use
jsonschema
instead inSchema.schema_validation
by settinguse_json_schema=True
if jsonschema is installed. - Added
--extras
to schema generation to add things like "required" etc. - Renamed
schema
toproperties
for objects in default rickle schema. - Renamed
schema
toitems
for objects in default rickle schema. - Added
add_secret
to Rickle, now able to add secrets from cloud providersaws
,google
,azure
. - Added
add_random_value
to Rickle, usinggenerate_random_value
in tools. Useful for mock data. - Moved
--output-type
to 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=False
for the to YAML and JSON file/string methods. - Changed default behaviour of
serve
to return deserialised form. - Added 404 response to serve when path can not be traversed.
- Added
-s
toserve
to serve the file in serialised form. - Added
-t
toserve
to serve the file in output type JSON or YAML (JSON by default). - Changed
-f
to-i
inserve
tool for consistency.
Version 1.1.1 (2024-03-19)
- Updated documentation and links to pages.
Version 1.1.0 (2024-02-05)
- Added
set
to BaseRickle, as a equivalent to theget
method. - Updated the
get
method to handle document paths. - Added
remove
method to delete items from object. - Added the
__delitem__
dunder, now able todel rickle['key']
. - Fixed bug where
search_path
was 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
strict
boolean 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
-b
flag toserve
CLI tool to open host on browser. - Bug fix in
infer_read_file_type
when reading unknown file suffix. - Renamed the
-i
flag to-a
inserve
CLI tool.
Version 1.0.0 (2023-09-20)
- Added the schema validation tool
schema
intools
. - 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 conv
andrickle serve
.
Version 0.3.4 (2023-07-20)
- Fixed error when importing from
rickled.net
when openssl is not installed.
Version 0.3.3 (2023-07-20)
- Adding optional installation of
twisted
library. - Added
serve_rickle_http
andserve_rickle_https
torickled.net
to serve Rickles as REST API.
Version 0.3.2 (2023-04-07)
- When calling
dict
on 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.isfunction
instead ofcallable
. - Added
meta
to 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_load
property to API calls, making it load on call instead of only on start. - Added the
hot_load
property to HTML page, making it load on call instead of only on start. - Added the
hot_load
property 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_path
to search for a key in the Rickle. - Removed
includes_self_reference
due to confusion. - Added a third way to load CSV files, see example documentation.
- Added
load_as_rick
toadd_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_recursive
param to.get
to 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_definition
to define classes. - Created a new class,
ObjectRickler
, to dump (almost) any object or convert to Rickle. - Added
add_module_import
to Rickle, with functionality to add global Python module imports.
Version 0.2.0 (2021-12-06)
- Renamed project to
Rickled
to 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_page
to load HTML text. - Added new
add_csv_file
to 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_base64
to load base 64 encoded data.
Version 0.1.11 (2021-09-09)
- Fixed bug in
get
for 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