dictknife
p
swiss army knife for handling dict.
install
$ pip install dictknife[load,command]
doc
http://dictknife.readthedocs.io
(:warning: this document is obsoleted)
0.14.0
- use tomlkit instead of qtoml
- use ruamel.yaml instead of pyyaml (for preserving comments)
- add
dictknife diff -o pair
0.13.0
- loading, see envvar (DICTKNIFE_LOAD_FORMAT, DICTKNIFE_DUMP_FORMAT)
- omit oauth2client dependency, if spreadsheet's requires
0.12.0
- add dictknife.naming
- add builtin transform functions (snakecase_dict, camelcase_dict, kebabcase_dict, ...)
- rename function, dictknife.transform:normalize_dict -> dictknife.transform:str_dict
0.11.0
- add dictknife.accessing.Scope (#108)
- fix: fix accessing with list (#113)
- fix: fix maybe access (#112)
- add 2to3, but not complete implementation (#115)
- add jsonknife bundle, --flavour option (#133)
- add jsonknife separate (#137)
- use qtoml instead of toml (#156)
- fix: use pyyaml's sort_keys option, instead of custom implementation (#162)
0.10.2
- loading, adjustment yaml's output
0.10.1
- this is latest version of support 3.5
0.10.0
- drop 3.5 support
- adding swaggerknife merge command, (#100), (#86)
- jsonknife's bundle action support jsonreference (#94)
- jsonknife's bundler fix conflict automatically (#101), when primitive input
- dictknife's diff support jsonpatch's output
- dictknife's shape output using jsonpointer (#88)
- loading, Yaml include hash (#105), quoted output, as default
- (fix) swaggerknife, tojsonschema json2swagger (#96)
- (refactor) jsonknife lazy import (#95)
- (WIP) initial work for open api3.0 (#103)
0.9.0
- bundle, prevent infinite recursion
- dictknife cat, extra arguments
- drop line cat
- modification
- transform
- dictknife mkdict, new command
- dictknife cat, fix --size option
- dictknife cat, support spreadsheet(extra)
0.8.2
- fix bug of dictknife diff, broken output is appeared, when input file is csv
- fix bug of dictknife diff, 0 is not treated as empty
0.8.1
- suport markdown table format
- support dictknife diff with --output (default is diff)
0.8.0
- adding dictknife diff --output-format dict option
- support loading markdown table format
0.7.6
- dictknife rename command concat -> cat
- dictknife linecat command is deprecated
- dictknife fake yaml module is broken when loading file
- dictknife support stdin input
- dictknife add --size option for dictknife.cat
- dictknife add --quiet option
0.7.5
- add
errors
and ignore
options, in loading.loadfile
- when PyYAML is not installed, then, using fake yaml module(actually this is json module)
0.7.2
- add
-sort-keys
option
- shape command
0.7.0
- support loading csv and tsv
- rename iterate() to walk() of DictWalker
0.6.0
- drop click
- many short options (e.g. -o for --output-format)
- drop legacy LooseDictWalker and dictknife.chain
- simply for lazy loading module, in dictknife.loading
0.5.0
- lazy loading for loading data (e.g. yaml, toml)
- dictknife linecat command
- short error message
- dictknife diff support array
0.4.7
- loading via envvar with white list
- jsonknife deref with --unwrap,--wrap option and --ref supports '@' expression
- jsonknife bundle generating ordered output
0.4.5
- dictknife cat with list JSON
- omitting deprecated commands (extract, lift)
0.4.4
- adjusting commands options
- changing yaml's multine line string format
0.4.3
0.4.2
- deepmerge with override option
- toml support
- jsonknife cut command
0.4.1
- some commands have format option
- some fixes
0.3
- command extras
pip install dictknife[command]
- adding dictknife-concat command
- adding dictknife-transform command
- adding dictknife-diff command
0.2
- external iterator is recommened. (using LooseDictWalkingIterator instead of LooseDictWalker)
0.1
- yaml/json load extras (
pip install dictknife[load]
)