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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file dictknife-0.14.1.tar.gz.

File metadata

  • Download URL: dictknife-0.14.1.tar.gz
  • Upload date:
  • Size: 53.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for dictknife-0.14.1.tar.gz
Algorithm Hash digest
SHA256 b5cd766335f105a7cfbf902eb31db603c41ddd870fe5a030e2f987de8a54b24d
MD5 bedcf54943fadbc2cf8f9a9431069046
BLAKE2b-256 5c539a32ae446ef0a8360489e185dcbb1003a6c24970733321a5b5d67467bbcf

See more details on using hashes here.

File details

Details for the file dictknife-0.14.1-py3-none-any.whl.

File metadata

  • Download URL: dictknife-0.14.1-py3-none-any.whl
  • Upload date:
  • Size: 70.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for dictknife-0.14.1-py3-none-any.whl
Algorithm Hash digest
SHA256 39a2105174a47b9e00ed355a73eea7908c2867620dc7ba1530bdf252f080d3d1
MD5 d20a73b422cd56f971e2e6889aa0390f
BLAKE2b-256 b6d3a35ab3b11ce22609d1d54285dc3a30e07a780fb165ecb67ebc9e1520a0b2

See more details on using hashes here.

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