Skip to main content

utility set of handling dict

Project description

dictknife Python package PyPi version Code style: black

swiss army knife for handling dict.

install

$ pip install dictknife[load,command]

examples

see ./examples/dictknife

doc

http://dictknife.readthedocs.io

(:warning: this document is obsoleted)

0.14.1

  • fix bug unexpected keyword argument loader is occured when yaml library is not installed

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

  • raw format

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])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dictknife-0.14.1.tar.gz (53.8 kB view hashes)

Uploaded Source

Built Distribution

dictknife-0.14.1-py3-none-any.whl (70.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page