dictknife


Namedictknife JSON
Version 0.14.1 PyPI version JSON
download
home_pagehttps://github.com/podhmo/dictknife
Summaryutility set of handling dict
upload_time2024-03-05 09:35:07
maintainer
docs_urlNone
authorpodhmo
requires_python
license
keywords dict dict-handling
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # dictknife ![Python package](https://github.com/podhmo/dictknife/workflows/Python%20package/badge.svg) [![PyPi version](https://img.shields.io/pypi/v/dictknife.svg)](https://pypi.python.org/pypi/dictknife) [![](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/download/releases/3.10.0/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://black.readthedocs.io/en/stable/)

swiss army knife for handling dict.

## install

```console
$ pip install dictknife[load,command]
```

## examples

see [./examples/dictknife](https://github.com/podhmo/dictknife/tree/master/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 '<unwrap>@<wrap>' 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]`)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/podhmo/dictknife",
    "name": "dictknife",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "dict,dict-handling",
    "author": "podhmo",
    "author_email": "ababjam61@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/5c/53/9a32ae446ef0a8360489e185dcbb1003a6c24970733321a5b5d67467bbcf/dictknife-0.14.1.tar.gz",
    "platform": null,
    "description": "# dictknife ![Python package](https://github.com/podhmo/dictknife/workflows/Python%20package/badge.svg) [![PyPi version](https://img.shields.io/pypi/v/dictknife.svg)](https://pypi.python.org/pypi/dictknife) [![](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/download/releases/3.10.0/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://black.readthedocs.io/en/stable/)\n\nswiss army knife for handling dict.\n\n## install\n\n```console\n$ pip install dictknife[load,command]\n```\n\n## examples\n\nsee [./examples/dictknife](https://github.com/podhmo/dictknife/tree/master/examples/dictknife)\n\n## doc\n\nhttp://dictknife.readthedocs.io\n\n(:warning: this document is obsoleted)\n\n\n0.14.1\n\n- fix bug `unexpected keyword argument loader` is occured when yaml library is not installed\n\n0.14.0\n\n- use tomlkit instead of qtoml\n- use ruamel.yaml instead of pyyaml (for preserving comments)\n- add `dictknife diff -o pair`\n\n0.13.0\n\n- loading, see envvar (DICTKNIFE_LOAD_FORMAT, DICTKNIFE_DUMP_FORMAT)\n- omit oauth2client dependency, if spreadsheet's requires\n\n0.12.0\n\n- add dictknife.naming\n- add builtin transform functions (snakecase_dict, camelcase_dict, kebabcase_dict, ...)\n- rename function, dictknife.transform:normalize_dict -> dictknife.transform:str_dict\n\n0.11.0\n\n- add dictknife.accessing.Scope (#108)\n- fix: fix accessing with list (#113)\n- fix: fix maybe access (#112)\n- add 2to3, but not complete implementation (#115)\n- add jsonknife bundle, --flavour option (#133)\n- add jsonknife separate (#137)\n- use qtoml instead of toml (#156)\n- fix: use pyyaml's sort_keys option, instead of custom implementation (#162)\n\n0.10.2\n\n- loading, adjustment yaml's output\n\n0.10.1\n\n- this is latest version of support 3.5\n\n0.10.0\n\n- drop 3.5 support\n- adding swaggerknife merge command, (#100), (#86)\n- jsonknife's bundle action support jsonreference (#94)\n- jsonknife's bundler fix conflict automatically (#101), when primitive input\n- dictknife's diff support jsonpatch's output\n- dictknife's shape output using jsonpointer (#88)\n- loading, Yaml include hash (#105), quoted output, as default\n- (fix) swaggerknife, tojsonschema json2swagger (#96)\n- (refactor) jsonknife lazy import (#95)\n- (WIP) initial work for open api3.0 (#103)\n\n0.9.0\n\n- bundle, prevent infinite recursion\n- dictknife cat, extra arguments\n- drop line cat\n- modification\n- transform\n- dictknife mkdict, new command\n- dictknife cat, fix --size option\n- dictknife cat, support spreadsheet(extra)\n\n0.8.2\n\n- fix bug of dictknife diff, broken output is appeared, when input file is csv\n- fix bug of dictknife diff, 0 is not treated as empty\n\n0.8.1\n\n- suport markdown table format\n- support dictknife diff with --output (default is diff)\n\n0.8.0\n\n- adding dictknife diff --output-format dict option\n- support loading markdown table format\n\n0.7.6\n\n- dictknife rename command concat -> cat\n- dictknife linecat command is deprecated\n- dictknife fake yaml module is broken when loading file\n- dictknife support stdin input\n- dictknife add --size option for dictknife.cat\n- dictknife add --quiet option\n\n0.7.5\n\n- add `errors` and `ignore` options, in loading.loadfile\n- when PyYAML is not installed, then, using fake yaml module(actually this is json module)\n\n0.7.2\n\n- add `-sort-keys` option\n- shape command\n\n0.7.0\n\n- support loading csv and tsv\n- rename iterate() to walk() of DictWalker\n\n0.6.0\n\n- drop click\n- many short options (e.g. -o for --output-format)\n- drop legacy LooseDictWalker and dictknife.chain\n- simply for lazy loading module, in dictknife.loading\n\n0.5.0\n\n- lazy loading for loading data (e.g. yaml, toml)\n- dictknife linecat command\n- short error message\n- dictknife diff support array\n\n0.4.7\n\n- loading via envvar with white list\n- jsonknife deref with --unwrap,--wrap option and --ref supports '<unwrap>@<wrap>' expression\n- jsonknife bundle generating ordered output\n\n0.4.5\n\n- dictknife cat with list JSON\n- omitting deprecated commands (extract, lift)\n\n0.4.4\n\n- adjusting commands options\n- changing yaml's multine line string format\n\n0.4.3\n\n- raw format\n\n0.4.2\n\n- deepmerge with override option\n- toml support\n- jsonknife cut command\n\n0.4.1\n\n- some commands have format option\n- some fixes\n\n0.3\n\n- command extras `pip install dictknife[command]`\n- adding dictknife-concat command\n- adding dictknife-transform command\n- adding dictknife-diff command\n\n\n0.2\n\n- external iterator is recommened. (using LooseDictWalkingIterator instead of LooseDictWalker)\n\n0.1\n\n- yaml/json load extras (`pip install dictknife[load]`)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "utility set of handling dict",
    "version": "0.14.1",
    "project_urls": {
        "Homepage": "https://github.com/podhmo/dictknife"
    },
    "split_keywords": [
        "dict",
        "dict-handling"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6d3a35ab3b11ce22609d1d54285dc3a30e07a780fb165ecb67ebc9e1520a0b2",
                "md5": "d20a73b422cd56f971e2e6889aa0390f",
                "sha256": "39a2105174a47b9e00ed355a73eea7908c2867620dc7ba1530bdf252f080d3d1"
            },
            "downloads": -1,
            "filename": "dictknife-0.14.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d20a73b422cd56f971e2e6889aa0390f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 70023,
            "upload_time": "2024-03-05T09:35:14",
            "upload_time_iso_8601": "2024-03-05T09:35:14.272630Z",
            "url": "https://files.pythonhosted.org/packages/b6/d3/a35ab3b11ce22609d1d54285dc3a30e07a780fb165ecb67ebc9e1520a0b2/dictknife-0.14.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5c539a32ae446ef0a8360489e185dcbb1003a6c24970733321a5b5d67467bbcf",
                "md5": "bedcf54943fadbc2cf8f9a9431069046",
                "sha256": "b5cd766335f105a7cfbf902eb31db603c41ddd870fe5a030e2f987de8a54b24d"
            },
            "downloads": -1,
            "filename": "dictknife-0.14.1.tar.gz",
            "has_sig": false,
            "md5_digest": "bedcf54943fadbc2cf8f9a9431069046",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 53820,
            "upload_time": "2024-03-05T09:35:07",
            "upload_time_iso_8601": "2024-03-05T09:35:07.200195Z",
            "url": "https://files.pythonhosted.org/packages/5c/53/9a32ae446ef0a8360489e185dcbb1003a6c24970733321a5b5d67467bbcf/dictknife-0.14.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-05 09:35:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "podhmo",
    "github_project": "dictknife",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dictknife"
}
        
Elapsed time: 0.19844s